React native Twilio聊天反应本机SDK错误:Can';t添加命令
我正在使用React Native中的SDK客户端,使用Twilio可编程聊天工具将聊天添加到我的应用程序中。发送消息的代码如下所示: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)
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设置有问题,这是导致问题的原因。一旦我解决了这个问题,问题就消失了。从一个稍微不同的角度来看,你的应用程序是否能够获得推送通知@爪哇草原