关于Web Worker的一些心得

来源:互联网 发布:三星s5网络模式仅限2g 编辑:程序博客网 时间:2024/06/05 04:34

注意问题

现在在平台中线程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

      }

}

0 0
原创粉丝点击