Method Overview
Name | Return Type | Summary | |
---|---|---|---|
Promise | Opens a connection to workers and loads a script with the workers framework. more details | more details |
Method Details
open(client, modulePath){Promise}static
Opens a connection to workers and loads a script with the workers framework.
Parameters:client ObjectThe instance of the client which will be using the Connection.
modulePath StringA fully qualified URL to a script to execute with the workers framework.
Returns:Type Description Promise Resolves to an instance of Connection. - See also:
Example:// Set worker's loaderConfig to set up // a path to folder called workersScripts esriConfig.workers.loaderConfig = { paths: { workerScripts: window.location.href.replace(/\/[^/]+$/, "/workerScripts"), } }; // Load workerScripts/Calculator.js in the workers framework // and invoke its "max" method workers.open(this, "workerScripts/Calculator") .then(function(connection) { return connection.invoke("max", { numbers: [0, 1, 2, 3, 4] }); }) .then(function(result) { console.log(result); }); //********************************************************* // module: workerScripts/Calculator.js //********************************************************* define(["esri/core/promiseUtils"], function(promiseUtils) { // when loaded, the workers framework will create new `Calculator` var Calculator = function Calculator() {}; // any method on "Calculator" module can be invoked // from the main thread Calculator.prototype.max = function(data) { return promiseUtils.resolve({ data: Math.max.apply(null, data.numbers) }); } return Calculator; });