[英]javascript web workers - how do I pass arguments?
找到了我的一些問題的答案,html5網絡工作者!
雖然使用這個基本示例,如何將參數傳遞給Web worker?
worker.js的內容:
function doSomething() {
postMessage( ' done');
}
setTimeout ( "doSomething()", 3000 );
js代碼:
var worker = new Worker('worker.js');
worker.onmessage = function (event) {
alert(event.data);
};
正如您所看到的,對於工作者到主體和主要工作者消息,您具有相同的機制。
postMessage
方法 onmessage
成員,用於定義接收消息的處理程序 在主腳本中:
worker.postMessage(data);
在工作腳本中:
self.addEventListener("message", function(e) {
// the passed-in data is available via e.data
}, false);
... 要不就...
onmessage = function(e) {
// the passed-in data is available via e.data
};
可能是數據必須是字符串...(Firefox 3.5+支持傳入與JSON兼容的對象)
var worker = new Worker(window.App.baseUrl + '/Scripts/signature/GetCurrenProductWorker.js');
worker.postMessage(window.App.baseUrl)
var _base_url = ''
var xhr = new XMLHttpRequest();
onmessage = function (e) {
_base_url = e.data
xhr.open("GET", _base_url + "/api/product/Get");
xhr.onload = function () {
postMessage(xhr.responseText);
};
xhr.send();
};
這項工作對我來說
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.