Javascript 具有多个参数的HTML5WebWorkers
我刚接触HTML5网络工作者,现在我想把多个参数传递给我的工作者 我的页面中有以下内容:Javascript 具有多个参数的HTML5WebWorkers,javascript,html,web-worker,Javascript,Html,Web Worker,我刚接触HTML5网络工作者,现在我想把多个参数传递给我的工作者 我的页面中有以下内容: var username = document.getElementById("username").value; var server_url = 'localhost'; w.postMessage(username,server_url); 在我的工人身上: var username = ''; var server_url = ''; onmessage = function (e,f) {
var username = document.getElementById("username").value;
var server_url = 'localhost';
w.postMessage(username,server_url);
在我的工人身上:
var username = '';
var server_url = '';
onmessage = function (e,f) {
username = e.data;
server_url = f.data;
}
console.log(username);
console.log(server_url);
当我打开浏览器中调用worker的页面时:
Uncaught TypeError:未能对“Worker”执行“postMessage”:第二个参数既不是数组,也没有索引属性。
我只想把用户名
和服务器url
传递给工人
我知道在示例中我硬编码了服务器url
,但在实际脚本中,它是动态的
请不要只是说:改变这个,做那个,而是给我提供代码,这样我就可以看到应该怎么做,而不是自己去弄清楚。像这样发帖:
w.postMessage({
user: username,
url: server_url
})
关于消息事件,请执行以下操作:
onmessage = function (e) {
username = e.data.user;
server_url = e.data.url;
}
在一个json中传递尽可能多的参数,如w.postMessage({user:username,url:server_url});隐马尔可夫模型。。。我懂了。然后,我如何在worker中读取它们呢?这就是诀窍:)虽然我得到了一个
未定义的用户名,但通过将w.postMessage({user:username,url:server\u url})
更改为w.postMessage({username:username,url:server\u url})
从函数中删除参数“f”。这是不必要的,正在造成混乱。