react-native - WEBSOCKET 前端显示过多的待处理
问题描述
Hy,我是 react-native 的前端开发人员。我第一次尝试将 WebSocket 与前端集成,但是当我发送消息时,消息发送但在控制台上,我得到了太多的响应,一段时间后得到了这个消息:
Please report: Excessive no. of pending callbacks:501
这是我的前端代码
发送消息:
const sendmessage = () => {
if (ws.readyState === WebSocket.OPEN && buyerMsg != '') {
ws.send(buyerMsg);
setBuyerMsg('');
} else {
console.log('not send');
}
};
onMessage
ws.onmessage = message => {
// console.log('msgs',message)
const data = JSON.parse(message.data);
if (data.sender == buyerId) {
// console.log(data.type)
setMessagesList(messagesList => [
...messagesList,
{msg: data.type, sender: data.sender},
]);
console.log('messagesList', messagesList);
setTemp(messagesList);
console.log('tem', messagesList);
setMessagesList([]);
} else if (data.sender == item.user) {
console.log(data.type);
setMessagesList(messagesList => [
...messagesList,
{msg: data.type, sender: data.sender},
]);
console.log('messagesList', messagesList);
setTemp(messagesList);
console.log('tem', messagesList);
setMessagesList([]);
}
打开
ws.onopen = e => {
console.log('open', e);
};
我在前端使用的所有这些功能都可以在前端的 WebSocket 上工作。
解决方案
推荐阅读
- visual-studio-code - New VSCode extension can't find vscode
- android-studio - which cmake will Android plugin use?
- dart - WillPopScope Widget 是 Stateful Widget 还是 Stateless Widget?
- c++ - C++17 的编译错误
在 MinGW 上 - jquery - 如何使用表单输入在 Foundation 模式弹出窗口上显示 BindingResult 错误
- maven - 运行 jar 时出现 ClassNotFoundException 但运行类时没有问题
- hadoop - Hive:查找前 20% 的记录
- postgresql - Postgres 连接在已部署的 Firebase 功能中获得 ETIMEDOUT(在本地工作)
- regex - 多个标签后无法获取字符串
- javascript - 使 DataTables 中的行可点击