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

      }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值