调度器
Scheduler
接口是 优先级任务调度 API 的一部分,它提供了 Scheduler.postTask()
方法,该方法可用于添加优先级任务以供调度。
可以从全局对象 Window
或 WorkerGlobalScope
(this.scheduler
) 访问 Scheduler
。
实例属性
无。
实例方法
Scheduler.postTask()
-
将任务作为回调添加到调度器,可以选择指定优先级、延迟和/或用于中止任务的信号。
示例
如果定义了该功能,则在工作线程和主线程中,全局 this
都会返回此对象的实例。该接口的唯一属性是 postTask()
方法,该方法用于发布任务并返回一个 promise。
以下代码展示了一个简单的任务,它以文本“任务正在执行”解析。成功时会记录此文本。代码还展示了一个 catch
块,这在更复杂的代码中是必需的,用于处理任务中止或抛出错误的情况。
js
if ("scheduler" in this) {
// Post task with default priority: 'user-visible' (no other options)
// When the task resolves, Promise.then() logs the result.
scheduler
.postTask(() => "Task executing")
.then((taskResult) => console.log(`${taskResult}`)) // Log result
.catch((error) => console.error(`Error: ${error}`)); // Log errors
}
有关更全面的示例代码,请参见 优先级任务调度 API > 示例。
规范
规范 |
---|
优先级任务调度 # 调度器 |
浏览器兼容性
BCD 表格仅在浏览器中加载