From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/zh-cn/web/api/idledeadline/index.html | 116 ++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 files/zh-cn/web/api/idledeadline/index.html (limited to 'files/zh-cn/web/api/idledeadline/index.html') diff --git a/files/zh-cn/web/api/idledeadline/index.html b/files/zh-cn/web/api/idledeadline/index.html new file mode 100644 index 0000000000..e988592759 --- /dev/null +++ b/files/zh-cn/web/api/idledeadline/index.html @@ -0,0 +1,116 @@ +--- +title: IdleDeadline +slug: Web/API/IdleDeadline +translation_of: Web/API/IdleDeadline +--- +
{{APIRef("Background Tasks")}}
+ +
+

IdleDeadline interface 在 {{domxref("Window.requestIdleCallback()")}}被调用的时候做为一个IdleDeadline interface类型的参数传递给requestIdleCallback方法的回调函数。它提供了一个方法, 可以让你判断用户代理(浏览器)还剩余多少闲置时间可以用来执行耗时任务{{domxref("..timeRemaining", "timeRemaining()")}},{{domxref("IdleDeadline.didTimeout", "didTimeout")}}, didTimeout属性用来判断当前的回调函数是否被执行因为回调函数存在过期时间(requestIdleCallback的第二个参数用来指定执行超时时间,即回调函数在规定的时间内是否被执行,如果没有执行didTimeout属性将为ture,如果任务是急需完成的此时应该忽略剩余时间逻辑上强制执行回调函数)。

+ +

学习更多的request callbacks工作原理请参考Collaborative Scheduling of Background Tasks.

+
+ +

Properties

+ +
+
{{domxref("IdleDeadline.didTimeout")}} {{ReadOnlyInline}}
+
一个Boolean类型当它的值为true的时候说明callback正在被执行(并且上一次执行回调函数执行的时候由于时间超时回调函数得不到执行),因为在执行requestIdleCallback回调的时候指定了超时时间并且时间已经超时。
+
+ +

Methods

+ +
+
{{domxref("IdleDeadline.timeRemaining()")}}
+
返回一个时间{{domxref("DOMHighResTimeStamp")}}, 并且是浮点类型的数值,它用来表示当前闲置周期的预估剩余毫秒数。如果idle period已经结束,则它的值是0。你的回调函数(传给requestIdleCallback的函数)可以重复的访问这个属性用来判断当前线程的闲置时间是否可以在结束前执行更多的任务。
+
+ +
+
+ +

Example

+ +

实例complete example (在 Cooperative Scheduling of Background Tasks API.文章内)

+ +

Specifications

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName("Background Tasks")}}{{Spec2("Background Tasks")}}
+ +

Browser compatibility

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Basic support47{{CompatNo}}{{CompatGeckoDesktop(53)}}[1]{{CompatNo}}34{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidChromeFirefox Mobile (Gecko)Firefox OSIE PhoneOpera MobileSafari Mobile
Basic support5355{{CompatGeckoMobile(53)}}[1]{{CompatUnknown}}{{CompatNo}}37{{CompatNo}}
+
+ +

[1] Idle callback功能在Firefox 53版本中添加,但是默认处于未启用状态. 通过设置dom.requestIdleCallback.enabled 属性为true 来启用该功能。Idle callback功能在Firefox 55版本中默认启用。

+ +

See also

+ + -- cgit v1.2.3-54-g00ecf