首页 > 解决方案 > 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 上工作。

标签: react-nativewebsocketfrontend

解决方案


推荐阅读