Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native Twilio聊天反应本机SDK错误:Can';t添加命令_React Native_Twilio_Twilio Programmable Chat - Fatal编程技术网

React native Twilio聊天反应本机SDK错误:Can';t添加命令

React native Twilio聊天反应本机SDK错误:Can';t添加命令,react-native,twilio,twilio-programmable-chat,React Native,Twilio,Twilio Programmable Chat,我正在使用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)

我正在使用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)
我正在捕获它,所以它不会在我的实际应用程序中造成任何问题,但如果能够了解导致它的原因以及如何修复它,那就太好了

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


谢谢你的帮助

我终于摆脱了这个问题。这是由于我的leaveChannel()方法的承诺链不正确造成的。自从解决这个问题以来,我没有遇到任何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.");
  }
});}

有趣的是,自从我更新了Twilio聊天SDK之后,我也出现了这个错误。但是,聊天信息仍然会被发送。我也有适当的错误处理,所以我只是做了一个黄色框忽略错误。我猜想这与WebSocket在编译时的转换有关,或者与无法在RN中使用依赖项有关,否则它将在节点中使用依赖项。这帮不上什么忙,但我只是想让你知道,在RN,你并不是唯一一个这样做的人。如果你真的找到了解决方案,我会非常感谢你的回复。Hi@JavanPoirier,我按照你的建议忽略了黄框,一切似乎都进行得很顺利,直到我完成了产品构建并将应用程序安装到实际设备上。它似乎可以工作,但随后消息被发送多次,直到我导航离开。这只发生在生产中。我认为这是某种时间问题,所以这个拒绝承诺的错误可能就是问题所在。你吃过类似的东西吗?谢谢。我意识到我的redux设置有问题,这是导致问题的原因。一旦我解决了这个问题,问题就消失了。从一个稍微不同的角度来看,你的应用程序是否能够获得推送通知@爪哇草原