网络Worker的包装器,可为指定 Worker 调度任务,并通过promise异步返回结果。
在任务计划完成之前,不会构建 Worker。
Name | Type | Default | Description |
---|---|---|---|
workerName |
String | workerName它应该是 Workers 文件夹中的一个脚本。 | |
maximumActiveTasks |
Number |
5
|
optional 活动任务的最大数量。一旦超过,scheduleTask 就不会再排队等待任何任务,从而允许在未来框架中重新安排工作。 |
Methods
-
Returns:
-
Returns:
如果此对象被销毁,则为True;否则为false。 -
安排一个由web worker异步处理的任务。如果当前活动的任务数量超过构造函数设置的最大值,则立即返回undefined。否则,返回一个promise,该promise将解析为worker完成后发回的结果。
Name Type Description parameters
* 任何将被发送到worker的输入数据。 transferableObjects
Array.<Object> optional 包含在参数中的对象数组,这些对象应该传递给工作线程,而不是复制。 Returns:
当可用时将解析为结果的Promise,或者在活动任务太多时未定义,Example:
var taskProcessor = new SuperMap3D.TaskProcessor('myWorkerName'); var promise = taskProcessor.scheduleTask({ someParameter : true, another : 'hello' }); if (!SuperMap3D.defined(promise)) { // too many active tasks - try again later } else { SuperMap3D.when(promise, function(result) { // use the result of the task }); }