TaskProcessor

new LSGlobe.TaskProcessor (workerName, maximumActiveTasks )

网络工作者周围的包装器,可以为给定的工作者安排任务,通过承诺异步返回结果。在计划任务之前,不会构造Worker。
Name Type Default Description
workerName String 工人的名字。预计这将是一个脚本 在'工人'文件夹中。
maximumActiveTasks Number 5 可选 活动任务的最大数量。一旦超过 scheduleTask将不再排队其他任务,从而允许 工作将在未来的框架中重新安排。

Methods

销毁此对象。这将立即终止工作人员。

一旦物体被破坏,就不应使用。调用除 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程序集模块并准备处理任务时,将解决结果的承诺。

isDestroyed () Boolean

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

如果该对象被破坏,则不应使用。调用除 isDestroyed 将导致 DeveloperError 异常。
Returns:
如果该对象被破坏,则为true;否则为false。否则为假。
See:

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

计划要由Web Worker异步处理的任务。如果目前还有更多活动任务超过构造函数设置的最大值,将立即返回undefined。否则,返回一个承诺,该承诺将解决工人在以下情况下发回的结果:完成。
Name Type Description
parameters Object 将输入到工作人员的所有输入数据。
transferableObjects Array.<Object> 可选 参数中包含的对象数组,应为 转移给工人,而不是复制。
Returns:
可用时将解决结果的承诺或未定义 如果活动任务太多,
Example:
var taskProcessor = new LSGlobe.TaskProcessor('myWorkerName');
var promise = taskProcessor.scheduleTask({
    someParameter : true,
    another : 'hello'
});
if (!LSGlobe.defined(promise)) {
    // too many active tasks - try again later
} else {
    LSGlobe.when(promise, function(result) {
        // use the result of the task
    });
}