我已经设法使用Chrome在webworker中使用websockets,但仅用于接收数据.当我尝试发送数据时,我得到一个DOM异常,有没有人设法发送数据?
这就是我对我的网络工作者所拥有的.
self.addEventListener('message', function(e) {
var data = e.data;
switch (data.cmd) {
case 'init':
self.postMessage("Initialising Web Workers...");
testWS();
break;
default:
self.postMessage('Unknown command: ' + data.msg);
};
}, false);
function testWS() {
var connectionAddr = "ws://localhost:8003";
var socket = new WebSocket(connectionAddr);
socket.onmessage = function(event) {
self.postMessage('Websocket : ' + event.data);
};
socket.onclose = function(event) {
};
function send(message) {
socket.send(message);
}
send("hello"); //Here is where the exception is thrown
}
Run Code Online (Sandbox Code Playgroud) 我已经使用Jenkins声明性管道查找了一些用户输入参数的示例,但是所有示例都使用脚本化管道.这是我正在努力工作的代码示例:
pipeline {
agent any
stages {
stage('Stage 1') {
steps {
input id: 'test', message: 'Hello', parameters: [string(defaultValue: '', description: '', name: 'myparam')]
sh "echo ${env}"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚如何访问myparam变量,如果有人可以帮助我,那将会很棒.谢谢
好吧,这有点难以解释,但是这里,我正在使用网络工作人员,并且我在网络工作人员脚本中定义了函数,并且我想调用一个特定的函数,传入另一个函数作为参数,问题是我试图使用worker.postMessage从我的主脚本中执行此操作。如果我发布一些代码可能会更清楚......
这是我的主要脚本:
worker.postMessage({'cmd': 'register', 'funcName': 'someFunction'});
Run Code Online (Sandbox Code Playgroud)
这是来自工作脚本:
self.addEventListener('message', function(e) {
var data = e.data;
switch (data.cmd) {
case 'register':
registerEvent(data.funcName);
break;
case 'unregister':
break;
default:
self.postMessage('Unknown command: ' + data.msg);
};
}, false);
function someFunction() {
}
function registerEvent(someFunction) {
}
Run Code Online (Sandbox Code Playgroud)
所以我知道这段代码是错误的并且不起作用,但我想您知道我想要实现的目标。