WorkerGlobalScope:scheduler 属性

可用性有限

此功能不是基线功能,因为它在一些最广泛使用的浏览器中无法正常工作。

注意:此功能仅在Web Workers 中可用。

schedulerWorkerGlobalScope 接口的只读属性,它是使用 优先级任务调度 API 的入口点。

该对象有一个单独的实例方法 Scheduler.postTask(),用于发布需要调度的优先级任务。

一个 Scheduler

示例

以下代码展示了该属性及其关联接口的一个非常基本的用法。它演示了如何检查属性是否存在,然后发布一个返回 Promise 的任务。

js
// Check if the prioritized task API is supported
if ("scheduler" in self) {
  // Callback function - "the task"
  const myTask = () => "Task 1: user-visible";

  // Post task with default priority: 'user-visible' (no other options)
  // When the task resolves, Promise.then() logs the result.
  self.scheduler
    .postTask(myTask)
    // Handle resolved value
    .then((taskResult) => console.log(`${taskResult}`))
    // Handle error or abort
    .catch((error) => console.log(`Error: ${error}`));
} else {
  console.log("Feature: NOT Supported");
}

有关显示如何使用 API 的完整示例代码,请参阅 优先级任务调度 API > 示例

规范

规范
优先级任务调度
# dom-windoworworkerglobalscope-scheduler

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅