TaskProcessor

new Cesium.TaskProcessor(workerName, maximumActiveTasks)

web worker的包装器,它允许为给定的worker调度任务,并通过约定异步返回结果。 直到任务被调度时才会构造Worker。
Name Type Default Description
workerName String worker的名字。这应该是Workers文件夹中的一个脚本。
maximumActiveTasks Number 5 optional 活动任务的最大数量。 一旦超过,scheduleTask将不再对任何任务进行排队,允许在未来的帧中重新调度工作。

Methods

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

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

initWebAssemblyModule(webAssemblyOptions)Promise.<Object>

向web worker发布一条消息,其中配置了初始化加载和异步编译web程序集(web assembly)模块, 以及一个可选的备用JavaScript模块,以便在不支持web程序集时使用。
Name Type Description
webAssemblyOptions Object optional 具有以下属性的对象:
Name Type Description
modulePath String optional web程序集JavaScript包装器模块的路径。
wasmBinaryFile String optional web程序集二进制文件的路径。
fallbackModulePath String optional 如果不支持web程序集,要使用的后备JavaScript模块的路径。
Returns:
当web worker加载和编译了web程序集模块并准备好处理任务时解析到结果的约定。

isDestroyed()Boolean

如果该对象被销毁,则返回true;否则,false。

一个对象一旦被销毁,就不应该被使用;调用除isDestroyed之外的任何函数都会导致DeveloperError异常。
Returns:
如果这个物体被销毁,则为true;否则,false。
See:

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

调度web worker异步处理的任务。 如果当前活动的任务多于构造函数设置的最大值,则立即返回undefined。 否则,返回一个约定,该约定将解析为worker在完成后返回的结果。
Name Type Description
parameters Object 将提交给worker的任何输入数据。
transferableObjects Array.<Object> optional 参数中包含的对象数组,应该将其传输给worker而不是复制。
Returns:
要么约定在可用时解析为结果,要么在活动任务太多时未定义。
Example:
var taskProcessor = new Cesium.TaskProcessor('myWorkerName');
var promise = taskProcessor.scheduleTask({
    someParameter : true,
    another : 'hello'
});
if (!Cesium.defined(promise)) {
    // too many active tasks - try again later
} else {
    Cesium.when(promise, function(result) {
        // use the result of the task
    });
}