使用 javascript 类型 BLOB 中的 WebWorker 创建具有动态路径的 WebSocket

Create a WebSocket with a dynamic path using a WebWorker which is in a javascript type BLOB

如何使用动态路径打开 javascript 类型的 BLOB WebWorker 中的新 WebSocket?

let DYNAMIC_PATH = 'ws://localhost'; // dynamically changing

let ww = URL.createObjectURL(new Blob([
  var ws = new WebSocket(DYNAMIC_PATH); // <-- HOT TO GET THIS VARIABLE

  self.addEventListener('message', (event) => {
      console.log('@@', event.data);
  }, false);
  ], { type: 'application/javascript' }));

sendToWW = function (data) {
  ww.postMessage(data);
};

您可以通过创建参数将值传递给函数。

let DYNAMIC_PATH = 'ws://localhost'; // dynamically changing

let ww = (DYNAMIC_PATH)=> URL.createObjectURL(new Blob([
var ws = new WebSocket(DYNAMIC_PATH); // <-- HOT TO GET THIS VARIABLE

self.addEventListener('message', (event) => {
  console.log('@@', event.data);
}, false);
], { type: 'application/javascript' }));

sendToWW = function (DYNAMIC_PATH,data) {
ww(DYNAMIC_PATH).postMessage(data);
};