本文介绍了javascript网络工作者 - 如何传递参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
找到我的一些问题的答案,html5网络工作者!!!
如果使用这个基本示例,我如何将参数传递给Web worker? / p>
worker.js的内容:
function doSomething(){
postMessage('done');
}
setTimeout(doSomething(),3000);
js code:
var worker = new Worker('worker.js');
worker.onmessage = function(event){
alert(event.data);
};
解决方案
正如你所看到的,两者都有相同的机制工人到主要和主要到工人的消息。
- 发送消息的
postMessage
方法 - 用于定义接收消息的处理程序的
onmessage
成员
In主脚本:
worker.postMessage(data);
在工人脚本中:
self.addEventListener(message,function(e){
//传入的数据可通过e.data
获得},false);
...或只是......
onmessage = function(e){
//传入的数据可通过e.data
获得;
可能是数据必须是字符串...(Firefox 3.5+支持传入JSON兼容的对象)
Found the answer some some of my problems, html5 web workers!!!
How do I pass an argument to a web worker though using this basic example?
contents of worker.js:
function doSomething() {
postMessage( ' done');
}
setTimeout ( "doSomething()", 3000 );
js code:
var worker = new Worker('worker.js');
worker.onmessage = function (event) {
alert(event.data);
};
解决方案
As you can see you have the same mechanism for both worker-to-main and main-to-worker messages.
- the
postMessage
method for sending messages - the
onmessage
member for defining the handler that receives the messages
In the main script:
worker.postMessage(data);
In the worker script:
self.addEventListener("message", function(e) {
// the passed-in data is available via e.data
}, false);
... or just...
onmessage = function(e) {
// the passed-in data is available via e.data
};
It may be that data has to be a string... (Firefox 3.5+ supports passing in JSON-compatible objects)
这篇关于javascript网络工作者 - 如何传递参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!