关于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