+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ new worker.Actor() + + + [source] + + + + +
+ + + + + + + + + + + +const workerKey = 'test_worker_key';
+ maptalks.registerWorkerAdapter(workerKey, function (exports, global) {
+ //will be called only for once when loaded in worker thread
+ exports.initialize = function () {
+ console.log('[worker] initialized');
+ };
+ //to receive message from main thread sent by maptalks.worker.Actor
+ exports.onmessage = function (message, postResponse) {
+ const data = message.data;
+ console.log(`[worker] received data : ` + data);
+ //send message back to main thread
+ //the parameters:
+ //error, data, buffers (arraybuffers in data)
+ postResponse(null, 'message from worker thread', null);
+ };
+ });
+
+ const MyActor = class extends maptalks.worker.Actor {
+ test(info, cb) {
+ //send data to worker thread
+ this.send(info, null, cb);
+ }
+ }
+
+ //must be same with workerKey for maptalks.registerWorkerAdapter
+ const actor = new MyActor(workerKey);
+ actor.test('hi', (err, data) => {
+ //received data from worker thread
+ console.log(data);
+ });
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
++ +
Methods
+ + + + + +isActive() + + + [source] + + + + +
+ + +
+ If the actor is active
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Returns:
+Boolean: + + + + + + + ++ + + + + +
broadcast(data, buffers, cb) + + + [source] + + + + +
+ + +
+ Broadcast a message to all Workers.
+
+
+
+
+
+
+
+
+
+
+
+
+Parameter | + +Type | + + + +Description | +
---|---|---|
data
+
+ |
+
+
+ + + +Object + + + + | + + + +data to send to worker thread | +
buffers
+
+ |
+
+
+ + + +Array.<ArrayBuffer> + + + + | + + + +arraybuffers in data as transferables | +
cb
+
+ |
+
+
+ + + +function + + + + | + + + +callback function when received message from worker thread | +
+ + + + + +
send(data, buffers, cb, workerIdopt) + + + [source] + + + + +
+ + +
+ Sends a message from a main-thread to a Worker and call callback when response received.
+
+
+
+
+
+
+
+
+
+
+
+
+Parameter | + +Type | + + + +Description | +
---|---|---|
data
+
+
+
+
+
+ |
+
+
+ + + +Object + + + + | + + + +data to send to worker thread | +
buffers
+
+
+
+
+
+ |
+
+
+ + + +Array.<ArrayBuffer> + + + + | + + + +arraybuffers in data as transferables | +
cb
+
+
+
+
+
+ |
+
+
+ + + +function + + + + | + + + +callback function when received message from worker thread | +
workerId
+
+
+ opt
+
+
+
+
+ |
+
+
+ + + +Number + + + + | + + + +Optional, a particular worker id to which to send this message. | +
+ + + + + +
receive(message) + + + [source] + + + + +
+ + +
+ A listener callback for incoming message from worker thread.
SHOULD NOT BE OVERRIDED only if you know what you are doing.
+
+
+
+
+
+
+
+
+
+
+
+
+Parameter | + +Type | + + + +Description | +
---|---|---|
message
+
+ |
+
+
+ + + +Object + + + + | + + + +response message from worker thread | +
+ + + + + +
remove() + + + [source] + + + + +
+ + +
+ Remove the actor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
++ + + + + +
post(data, buffers, targetID) + + + [source] + + + + +
+ + +
+ Send a message to a Worker.
+
+
+
+
+
+
+
+
+
+
+
+
+Parameter | + +Type | + + + +Description | +
---|---|---|
data
+
+ |
+
+
+ + + +Object + + + + | + + + +data to send | +
buffers
+
+ |
+
+
+ + + +Array.<ArrayBuffer> + + + + | + + + +arraybuffers in data | +
targetID
+
+ |
+
+
+ + + +Number + + + + | + + + +The ID of the Worker to which to send this message. Omit to allow the dispatcher to choose. | +
Returns:
+Number: + + + + The ID of the worker to which the message was sent. + + + + + + + ++ + + + + +
getDedicatedWorker() + + + [source] + + + + +
+ + +
+ Get a dedicated worker in a round-robin fashion
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
++ + + + + + +