關於Web Worker的一些心得


注意問題

現在在平台中線程js中不能識別Extjs的方法,原因是線程js無法引入Extjsd的方法。

Onmessage只接收數據,不能在里面直接寫方法,只能調用外面的方法

Webwork.js無法訪問window,docment等對象


 代碼案例

//創建一個線程

var worker = new Worker('test/my_task.js');

        var params = {

           project_id : window.Global.defaultProject.id,

           user_id : window.Global.user.id

       };

       //向線程傳遞參數

       worker.postMessage(params);

//接受返回來的數據     

worker.onmessage = function(event) {

           store.load(Ext.decode(event.data));

     };

My_task.js

self.onmessage = function(event) {

     postMessage(get('QueryTaskAction.do?project_id='+event.data.project_id+'&user_id='+event.data.user_id));

};

//執行action從后台查取數據

function get(url){

    try {

        var xhr =new XMLHttpRequest();

        xhr.open('GET', url, false);

        xhr.send();

        return xhr.responseText;

      } catch (e) {

        return'';// turn all errors into empty results

      }

}


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com