web worker的包装器,允许为给定的worker调度任务,
通过承诺异步返回结果。
在调度任务之前,不会构造工作线程。
Name | Type | Default | Description |
---|---|---|---|
workerName |
String | 工人的姓名。这应该是一个脚本 在Workers文件夹中。 | |
maximumActiveTasks |
Number |
5
|
optional 活动任务的最大数目。一旦超过, scheduleTask将不再对任何任务排队,允许 工作将在未来的框架内重新安排。 |
Methods
向具有初始化加载配置的web worker发布消息
以及异步编译web程序集模块以及可选的
不支持Web程序集时要使用的回退JavaScript模块。
Name | Type | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
webAssemblyOptions |
Object | optional
具有以下属性的对象:
|
Returns:
一个承诺,当web工作人员加载并编译了web程序集模块并准备好处理任务时,将解析为结果。
Returns:
如果此对象被销毁,则为True;否则为false。
计划由web辅助进程异步处理的任务。如果现在有更多
超过构造函数设置的最大值的任务将立即返回未定义。
否则,将返回一个promise,该承诺将在
完成了。
Name | Type | Description |
---|---|---|
parameters |
Object | 将过帐到工作者的任何输入数据。 |
transferableObjects |
Array.<Object> | optional 参数中包含的对象数组 转移给工人而不是复制。 |
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
});
}