javascript - 为什么 socket.io 会减慢我的应用程序的速度?(注册护士)
问题描述
我实际上正在使用 React-native 和 React-navigation 构建我的移动应用程序,并且我想向它添加一个聊天(实际上我必须这样做)。
但是在将我的应用程序连接到 Socket.IO 时我面临一个大问题:由于 Socket.io,所有fetch()请求都非常慢(10 秒,应该是 10 毫秒)。我在网上看到了很多解释,但似乎没有人处于完全相同的情况......
另一个问题是我可以通过以下方式解决问题:
componentWillUnmount() {
this.socket.disconnect();
}
但是因为我使用的是 React-navigation,所以在屏幕之间导航时永远不会调用componentWillUnmount() ......
看起来与 Websockets 的连接消耗了太多的能量,但这并不是真的可能......
你们知道我应该如何解决这个问题吗?为什么 Socket.io 会减慢fetch()请求?当然:我做错了什么吗?
我在下面给你我的代码的一部分,谢谢!
import SocketIOClient from 'socket.io-client';
...
componentDidMount(){
this.socket = SocketIOClient('https://api.XXX.com');
this.socket.on('chat', (message) => {
this.state.Messages.push(message);
});
}
解决方案
推荐阅读
- javascript - 为什么有些条在 d3 条形图中偏离中心?
- rest - 使用 ambari rest-api 使用 powershell
- xslt - 从优先级列表中选择元素的值
- mysql - 如何从另一个表中动态检索最近的日期 MySQL
- datetimepicker - datetimepicker 默认为当前时间戳
- xcode10 - xcodebuild 对 mac 应用程序进行公证并等待响应?
- swift - 问:AudiKit:AKEqualizerFilter 不能与 iBAction 一起正常工作
- java - RuntimeException:无法在 Android Studio 中启动活动
- java - 将 javax 验证与 JavaFX 集成
- laravel - 具有多个数据的 Vuejs 函数