TaskProcessor

围绕Web工作者的包装器,允许为给定工作者安排任务,通过承诺异步返回结果。只有在计划任务后,才能构造工作进程。
new TaskProcessor(workerName, maximumActiveTasks)
Parameters:
workerName (String) 工人的姓名。这应该是Workers文件夹中的脚本。
maximumActiveTasks (Number) (default 5) 活动任务的最大数目。一旦超过,scheduleTask将不再对任何任务进行排队,从而允许在将来的帧中重新安排工作。

Methods

destroy()
销毁此对象。这将立即终止工人。

一旦对象被破坏,就不应使用它;调用除isDestroyed以外的任何函数都将导致DeveloperError异常。
initWebAssemblyModule(webAssemblyOptions) → {Promise.<Object>}
通过配置向Web工作者发送消息,以异步初始化加载和编译Web程序集模块,以及在不支持Web程序集时使用的可选回退javascript模块。
Parameters:
webAssemblyOptions (Object) 一个
Name Description
webAssemblyOptions.modulePath
String
Web程序集javascript包装模块的路径。
webAssemblyOptions.wasmBinaryFile
String
Web程序集二进制文件的路径。
webAssemblyOptions.fallbackModulePath
String
如果不支持Web程序集,则使用的回退javascript模块的路径。
isDestroyed() → {Boolean}
如果此对象被破坏,则返回true;否则返回false。

如果此对象被破坏,则不应使用它;调用除isDestroyed以外的任何函数将导致DeveloperError异常。
See:
scheduleTask(parameters, transferableObjects) → {Promise.<Object>|undefined}
安排Web工作者异步处理的任务。如果当前有比构造函数设置的最大值更多的活动任务,将立即返回未定义。否则,返回一个承诺,该承诺将解析为工作人员在完成时返回的结果。
Parameters:
parameters (Object) 将发布到工人的任何输入数据。
transferableObjects (Array.<Object>) 包含在参数中的对象数组,应将其传输到工作进程,而不是复制。
Example
var taskProcessor = new bmgl.TaskProcessor('myWorkerName');
var promise = taskProcessor.scheduleTask({
    someParameter : true,
    another : 'hello'
});
if (!bmgl.defined(promise)) {
    // too many active tasks - try again later
} else {
    bmgl.when(promise, function(result) {
        // use the result of the task
    });
}