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

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

复制代码

 

posted @   10后程序员劝退师  阅读(4920)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示