如果不使用小程序的webScoket,通过长轮询来实现数据实时接收:
长轮询:当服务器收到客户端发来的请求后,服务器端不会直接进行响应,而是先将这个请求挂起,然后判断服务器端数据是否有更新。如果有更新,则进行响应,如果一直没有数据,则到达一定的时间限制(服务器端设置)才返回。 。 客户端JavaScript响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。
const requestTask = wx:request({ url:"", header:{...} data:{}, method:'POST" success: res => { if('轮询成功'){ 更新所需要的接口。。。。 }else if('超时'){ 再调用该请求 } } }) onHide(){ requestTask ? requestTask.abort() : '' } onUnload(){ requestTask ? requestTask.abort() : '' }
在页面进入后台以及销魂后。即使正在轮询的接口
abort()方法取消当前request请求