gpt4 book ai didi

javascript - 初始化网络 worker

转载 作者:行者123 更新时间:2023-12-02 22:41:30 26 4
gpt4 key购买 nike

这似乎是从主机到 worker 的唯一通信是 postMessgageonmessage。如果工作人员需要一些动态初始化(如在构造函数中,此处:稍后使用的正则表达式),那么最好的方法是什么?

一种可能性是让 data 成为一个对象,并具有例如action 参数,并在每次运行时检查此参数。这看起来有点笨拙。

最佳答案

不同代理之间的通信 channel 非常低级,但您可以在此基础上轻松构建更高级别的通信。我会使用对象来传达不同的“事件”:

  { event: "init", data: [/d/] }

基于这些事件,您可以创建不同的事件来表示,例如函数调用及其响应:

 { event: "call-init", data: [/d/] } // >>>
{ event: "return-init", data: ["done"] } // <<<

然后您可以围绕它构建一个包装器,用于发送和处理响应,例如:

    async function call(name, ...args) {
channel.send("call-" + name, args);
return await cannel.once("return-" + name);
}

channel.init = call.bind(null, "init");

然后你的代码就变成了这样的东西:

  const channel = new Channel(worker);
await channel.init(/d/);
await channel.doOtherStuff();

这只是为了向您提供基本概念。

关于javascript - 初始化网络 worker ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58570854/

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