TaskProcessor

new Cesium.TaskProcessor (workerPath, maximumActiveTasks )

一个围绕 web worker 的包装器,它允许为给定的 worker 调度任务,通过 promise 异步返回结果。在计划任务之前不会构造 Worker。
Name Type Default Description
workerPath String 工作人员的 URL。这可以是绝对路径,也可以是相对于 Cesium Workers 文件夹的路径。
maximumActiveTasks Number Number.POSITIVE_INFINITY 可选 活动任务的最大数量。一旦超过, scheduleTask 将不再排队任何任务,允许在未来的帧中重新安排工作。

Methods

销毁此对象。这将立即终止 Worker。

一旦一个对象被销毁,它就不应该被使用;调用 isDestroyed 以外的任何函数都会导致 DeveloperError 异常。

initWebAssemblyModule ( webAssemblyOptions ) Promise.<Object>

向 Web Worker 发送一条消息,配置初始化异步加载和编译 Web 程序集模块,以及在不支持 Web 程序集时使用的可选后备 JavaScript 模块。
Name Type Description
webAssemblyOptions Object 可选 具有以下属性的对象:
姓名 类型 描述
modulePath 细绳 可选 Web 程序集 JavaScript 包装器模块的路径。
wasmBinaryFile 细绳 可选 Web 程序集二进制文件的路径。
fallbackModulePath 细绳 可选 如果不支持 Web 程序集,则要使用的后备 JavaScript 模块的路径。
Returns:
当 Web Worker 加载并编译 Web 组装模块并准备好处理任务时,将解析为结果的 Promise。

isDestroyed () Boolean

如果此对象被销毁,则返回 true;否则为假。

如果这个对象被破坏了,它就不应该被使用;调用 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。
Returns:
如果此对象被销毁,则为真;否则为假。
See:

scheduleTask (parameters, transferableObjects ) Promise.<Object>|undefined

调度要由 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
    });
}