axios简单实现小程序延时加载指示

  

axios简单实现小程序延时加载指示

  

 axios简单实现小程序延时加载指示

  

小程序和小游戏的wx.showLoading方法相信大家都不会陌生,但是怎样处理加载才能又更好的用户体验呢?

  

假设需求如下,1秒类请求没有相应,才弹出加载,否则不弹出,请求错误时,弹出面包。
  

  

配合axios实现如下:
  

  

1。在状态管理部分存储加载状态
  

        出口const loadingStatus美元:BehaviorSubject=new BehaviorSubject(假)      axios.interceptors.request.use (   (配置:任何)=比;{   loadingStatus $ . next(真正的)   返回配置   },   (错误:有)=比;{   返回Promise.reject(错误)   },   )      axios.interceptors.response.use (   (回应:任何)=比;{   loadingStatus $ . next(假)   返回response.data   },   (错误:有)=比;{   loadingStatus $ . next(假)   wx。showToast({标题:“错误的事情发生了,请稍后尝试”})   返回Promise.reject(错误)   },   )      之前      

2。在应用启动时订阅
  

        让计时器:任何=0   loadingStatus美元   .pipe (   成对(),   过滤器((res: Array之前      

感觉配合rx,很多复杂功能都能很简单地实现,另外这个功能会伴随整个应用周期,所以unsbscribe可以不用太在意。(除非有其他的不良影响,请告诉我)
  

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

axios简单实现小程序延时加载指示