小程序如何用长轮询,来实现户端实时刷新


如果不使用小程序的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请求
 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM