【问题标题】:Parallelise chat clients creation in Twilio Programmable Chat在 Twilio Programmable Chat 中并行创建聊天客户端
【发布时间】: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


【解决方案1】:

这里是 Twilio 开发者宣传员。

您只需要一个聊天客户端来与聊天服务交互,而不是每个频道一个。然后,您可以使用聊天客户端load the user's channels with client.getUserChannelDescriptors() 和load individual channels with client.getChannelBySid()。

【讨论】:

    猜你喜欢
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    相关资源
    最近更新 更多