十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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) }, )