当应用程序从前台过渡到后台(本机)时,如何关闭Websocket连接?

时间:2019-01-28 07:05:37

标签: react-native websocket pusher

我的环境

我使用的Pusher-js内部使用react-native websocket来维护客户端连接。

我要实现的目标

当应用程序从前台转到后台时,我想关闭所有WebSocket连接。

到目前为止

我订阅了本机AppState API,以便在应用程序从前台过渡到后台时获取事件。在该回叫中,我呼叫connection.disconnect()以关闭WebSocket连接。

但是问题出在AppState事件回调上,在connection.disconnect()可以完成之前,我的应用javascript执行被暂停了(因为它将进入后台),并且仅在应用再次出现在前台时才完成。因此,插座永远不会关闭。

我在线阅读的解决方案

所有解决方案似乎都针对此简单问题运行后台任务或服务。

最终

是否有一种简单的解决方案,当应用程序以react-native方式运行到后台时,关闭所有WebSocket连接,而不必包括除核心react-native之外的任何自定义本机模块?

0 个答案:

没有答案