【问题标题】:Twilio chat React Native SDK Error: Can't add commandTwilio 聊天 React Native SDK 错误:无法添加命令
【发布时间】:2019-06-15 18:22:54
【问题描述】:

我正在使用 React Native 中的 SDK 客户端使用 Twilio 可编程聊天将聊天添加到我的应用程序。发送消息的代码如下:

client.sendMessage(message.text)
    .catch(err => console.log(err));

我在控制台中收到一条错误消息:

Error: Can't add command: (status: 0, code: 0)
    at session.js:173
    at tryCallOne (core.js:37)
    at core.js:123
    at JSTimers.js:294
    at _callTimer (JSTimers.js:151)
    at _callImmediatesPass (JSTimers.js:199)
    at Object.callImmediates (JSTimers.js:463)
    at MessageQueue.__callImmediates (MessageQueue.js:316)
    at MessageQueue.js:136
    at MessageQueue.__guard (MessageQueue.js:291)

我正在捕捉它,因此它不会在我的实际应用中造成任何问题,但很高兴了解导致它的原因以及如何解决它。

注意:消息正在发送,所有功能看起来都很好。

感谢您的帮助

【问题讨论】:

  • 有趣的是,自从我更新了 Twilio Chat SDK 以来,我也遇到了这个错误。但是,仍然会发送聊天消息。我也有适当的错误处理,所以我只是对错误做了一个黄色框忽略。我的猜测是它与 WebSocket 在编译时转换或无法在 RN 中使用它在 Node.js 中的依赖项有关。帮助不大,只是想让你知道你在 RN 中并不孤单。如果您确实找到了解决方案,我将不胜感激。
  • 嗨@JavanPoirier,我按照你的建议忽略了黄色框,一切似乎都很顺利,直到我进行了生产构建并将应用程序放在实际设备上。它似乎有效,但随后消息被多次发送,直到我离开。这只发生在生产中。我认为这是某种时间问题,所以这个承诺拒绝错误可能是问题所在。你有过这样的经历吗?

标签: react-native twilio twilio-programmable-chat


【解决方案1】:

我能够最终摆脱这个问题。这是由于我的 leaveChannel() 方法使用了不正确的 Promise 链。自从解决了这个问题后,我对 add 命令错误没有任何问题,我认为这是由于房间没有正确断开连接造成的。如果有帮助,以下是我的断开连接方法。告诉我你是怎么做的。

leaveChannel() {
return new Promise((resolve, reject) => {
  if (this.channel) {
    this.channel.removeAllListeners();
    this.channel
      .leave()
      .then((leftChannel: Channel) => {
        console.log("Left chat channel: " + leftChannel.uniqueName);
        store.dispatch(chatSetState(ConnectionStateEnum.DISCONNECTED));
        resolve();
      })
      .catch((error: any) => {
        console.log("leaveChannel(): ", error);
        this.channel = null;
        reject(error);
      });
  } else {
    console.log("Not currently in a channel.");
  }
});}

【讨论】:

  • 谢谢。我意识到我的 redux 设置有问题,这导致了这个问题。一旦我解决了问题就消失了。
  • 稍微不同的是,您是否设法让推送通知与您的应用程序一起使用? @JavanPoirier
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-14
  • 1970-01-01
  • 1970-01-01
  • 2020-10-28
  • 1970-01-01
  • 2017-07-29
  • 2016-07-24
相关资源
最近更新 更多