网络工作者周围的包装器,可以为给定的工作者安排任务,通过承诺异步返回结果。在计划任务之前,不会构造Worker。
Name | Type | Default | Description |
---|---|---|---|
workerName
|
String | 工人的名字。预计这将是一个脚本 在'工人'文件夹中。 | |
maximumActiveTasks
|
Number |
5
|
可选 活动任务的最大数量。一旦超过 scheduleTask将不再排队其他任务,从而允许 工作将在未来的框架中重新安排。 |
Methods
将消息发布到具有配置的Web Worker来初始化加载并异步地编译一个Web程序集模块以及一个可选的如果不支持Web组件,则使用后备JavaScript模块。
Name | Type | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
webAssemblyOptions
|
Object |
可选
具有以下属性的对象:
|
Returns:
当Web Worker加载并编译Web程序集模块并准备处理任务时,将解决结果的承诺。
Returns:
如果该对象被破坏,则为true;否则为false。否则为假。
计划要由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
});
}