我的环境
我使用的Pusher-js内部使用react-native websocket来维护客户端连接。
我要实现的目标
当应用程序从前台转到后台时,我想关闭所有WebSocket连接。
到目前为止
我订阅了本机AppState
API,以便在应用程序从前台过渡到后台时获取事件。在该回叫中,我呼叫connection.disconnect()
以关闭WebSocket连接。
但是问题出在AppState事件回调上,在connection.disconnect()
可以完成之前,我的应用javascript执行被暂停了(因为它将进入后台),并且仅在应用再次出现在前台时才完成。因此,插座永远不会关闭。
我在线阅读的解决方案
所有解决方案似乎都针对此简单问题运行后台任务或服务。
最终
是否有一种简单的解决方案,当应用程序以react-native方式运行到后台时,关闭所有WebSocket连接,而不必包括除核心react-native之外的任何自定义本机模块?