【发布时间】:2021-07-30 05:38:52
【问题描述】:
尝试创建一个网络聊天应用程序,我们从后端获取用户所属的所有频道。后端返回包含 twilio 访问令牌和通道名称的对象数组。获取 API 响应后,Javascript 会遍历数组并使用以下代码为每个频道创建聊天客户端:
let apiResponse = [
{token: 'abcdefgh', channel_name: 'a'},
{token: 'abcdef', channel_name: 'b'},
{token: 'abcd', channel_name: 'c'}
];
let createdClients = [];
apiResponse.forEach((item) => {
Chat.create(chatRoomToken)
.then(client => {
// You get the client here which can be pushed into createdClients array
})
}
目前这是按顺序完成的,因为 JS 是单线程的,然后当 promise 被解决时,createdClients 数组正在被填充。我怎样才能将Chat.create(chatRoomToken) 并行化为多个通道以节省更多时间。有没有人使用网络工作者或服务工作者解决了这个问题?谢谢。
【问题讨论】:
-
您只需要一个聊天客户端即可与聊天服务进行交互。为什么要为每个频道创建一个客户端?
-
哦,明白了,所以我只需要创建一次聊天客户端,然后每当用户点击其他用户时更改频道。会试试这个。非常感谢。
-
没错,我留下了一个答案,其中包含几个文档链接。
标签: twilio service-worker web-worker twilio-api twilio-programmable-chat