小程序后台隐藏后 socket 无法重新连接
- 连接时 fail 回调函数的事件参数:
connectSocket:fail:jsapi has no permission,event=createSocketTask,runningState=suspend,permissionMsg=permission ok,detail=network api interrupted in suspend state
- 错误原因:小程序后台切换前台时,需要时间,这个错误表示连接时小程序还不是处于前台状态,无法连接
- 解决办法:在 fail 回调函数中使用递归 进行不断重新连接,直到成功
- 注意:,递归时,应该设置时间差
fail: function (e) {
console.log(‘connect fail‘, e)
setTimeout(() => {
reconnect() // 重连函数
}, 300)
}