动态创建Web worker

时间:2013-12-05 19:27:42

标签: javascript jquery ajax web-worker

我希望能够在foreach循环中动态创建Web worker。我不确定我是否正确地这样做,但这是我正在尝试的。

main.js:

$('#action-options').on('click', '#act_restart', function() {

    $.each(checked, function(key, val) {
        var worker = new Worker('js/doWork.js');
        worker.addEventListener('message', onMsg, false);
        worker.addEventListener('error', onError, false);
        worker.postMessage({'inst': val});

    });

});

doWork.js中

self.addEventListener('message', function(e) {
var data = e.data;
var xmlhttp;
var tableData;
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()
{
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
    {
        tableData = xmlhttp.responseText;
        self.postMessage(tableData);
    }
}
xmlhttp.open("GET", "../apicall/"+data.inst, true);
xmlhttp.send();

}, false);

我想为每个AJAX调用触发一个worker,这样如果一个人花费的时间比另一个长,那么它就不会占用页面。或任何其他人。

网络工作者如何做到这一点?

0 个答案:

没有答案