一个围绕 web worker 的包装器,它允许为给定的 worker 调度任务,通过 promise 异步返回结果。在计划任务之前不会构造 Worker。
Name | Type | Default | Description |
---|---|---|---|
workerPath
|
String | 工作人员的 URL。这可以是绝对路径,也可以是相对于 Cesium Workers 文件夹的路径。 | |
maximumActiveTasks
|
Number |
Number.POSITIVE_INFINITY
|
可选 活动任务的最大数量。一旦超过, scheduleTask 将不再排队任何任务,允许在未来的帧中重新安排工作。 |
Methods
向 Web Worker 发送一条消息,配置初始化异步加载和编译 Web 程序集模块,以及在不支持 Web 程序集时使用的可选后备 JavaScript 模块。
Name | Type | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
webAssemblyOptions
|
Object |
可选
具有以下属性的对象:
|
Returns:
当 Web Worker 加载并编译 Web 组装模块并准备好处理任务时,将解析为结果的 Promise。
Returns:
如果此对象被销毁,则为真;否则为假。
调度要由 Web Worker 异步处理的任务。如果当前活动的任务多于构造函数设置的最大值,将立即返回 undefined。否则,返回一个承诺,该承诺将解决工作人员在完成后发回的结果。
Name | Type | Description |
---|---|---|
parameters
|
Object | 将发布给工作人员的任何输入数据。 |
transferableObjects
|
Array.<Object> | 可选 包含在参数中的对象数组,应传输给工作人员而不是复制。 |
Returns:
要么是在可用时解决结果的承诺,要么如果有太多活动任务则未定义,
Example:
const taskProcessor = new Cesium.TaskProcessor('myWorkerPath');
const promise = taskProcessor.scheduleTask({
someParameter : true,
another : 'hello'
});
if (!Cesium.defined(promise)) {
// too many active tasks - try again later
} else {
promise.then(function(result) {
// use the result of the task
});
}