簡體   English   中英

javascript網絡工作者 - 如何傳遞參數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM