注意问题
现在在平台中线程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
}
}