Подтвердить что ты не робот

Работники javascript web - как передать аргументы?

Найден ответ на некоторые из моих проблем, html5 веб-работников!!!

Как передать аргумент веб-работнику, используя этот базовый пример?

содержимое worker.js:

function doSomething() {
    postMessage( ' done');
}
setTimeout ( "doSomething()", 3000 );

js code:

 var worker = new Worker('worker.js');
  worker.onmessage = function (event) {
    alert(event.data);
  };
4b9b3361

Ответ 1

Как вы можете видеть, у вас есть тот же механизм для сообщений "от рабочего к главному" и "от главного к рабочему".

  • метод postMessage для отправки сообщений
  • член onmessage для определения обработчика, который получает сообщения

В главном script:

worker.postMessage(data);

В рабочем script:

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-совместимых объектах)

Ответ 2

 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();

        };

эта работа для меня