gpt4 book ai didi

javascript - 如何在 webworkers 中访问 websockets?

转载 作者:行者123 更新时间:2023-11-28 00:16:36 25 4
gpt4 key购买 nike

我需要从 webworkers 发送 websocket 调用,我怎样才能得到它。我不认为用户代理有任何支持。如果有支持,请给我一个例子。

对我正在尝试的东西进行采样。

var ws = new WebSocket(url);
var worker=new Worker(worker.js);

ws.onmessage=function(e){
worker.postMessage({ws:ws,data:e.data});
}

worker .js

onmessage=function(e){
var ws=e.data.ws;
var data=e.data.data;
var request=someProcess(data);

ws.send(request);
}

最佳答案

在 worker ws 中是一个 string 反序列化的 JSON 对象,而不是 WebSocket 对象。您不能将带有方法的对象传递给工作人员,这意味着工作人员将需要回复主线程,而主线程执行 ws.send(worker_response)

我怀疑您收到的错误是 DATA_CLONE_ERR 异常或类似的异常,因为 WebSocket 对象无法通过 structured clone algorithm 进行 JSON 序列化| .

关于javascript - 如何在 webworkers 中访问 websockets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11858298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com