十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
axios简单实现小程序延时loading指示
小程序和小游戏的wx.showLoading方法相信大家都不会陌生,但是怎样处理loading才能又更好的用户体验呢?
假设需求如下,1秒类请求没有相应,才弹出loading,否则不弹出,请求错误时,弹出toast。
配合axios实现如下:
1.在状态管理部分存储loading状态
export const loadingStatus$: BehaviorSubject= new BehaviorSubject (false) axios.interceptors.request.use( (config: any) => { loadingStatus$.next(true) return config }, (error: any) => { return Promise.reject(error) }, ) axios.interceptors.response.use( (response: any) => { loadingStatus$.next(false) return response.data }, (error: any) => { loadingStatus$.next(false) wx.showToast({ title: 'something wrong happened, please try it later' }) return Promise.reject(error) }, )