发现问题:
微信小程序发送网络请求前,调用wx.showLoading()显示加载中,在回调success和fail中先调用wx.hideLoading()关闭加载提示框,再调用相应业务提示wx.showToast();开发工具中一切正常,真机测试时却一闪而过。
我们知道showLoading和showToast调用的是同一个提示框,同时调用时会冲突,所以在代码里已经避免;但真机测试仿佛执行顺序仍然是wx.showLoading() ->wx.showToast() -> wx.hideLoading()
解决方案:
添加小延时,确保showToast最后执行
如果100毫秒延迟不能解决问题,可以尝试调整这个值,调整到不影响用户体验的情况下解决这个问题。
.....wx.showLoading({title: '加载中',mask: true});.....wx.hideLoading();.....setTimeout(function(){wx.showToast({title: '操作成功'})}, 100)