比如后端一个加载,在加载处理后,接口有问题或者数据庞大等等原因,造成页面一直loading,这样很不好,我们应该给它加个超时处理,提醒用户继续操作其他,避免一直卡在这个页面。
一般我们会弄个2分钟的加载,如果超过就会提示“超时提示”。如何实现呢?我们拿微信小程序里的一段代码来说:
getOrderUserInfo(){ wx.showLoading({ title: '加载中...', icon:'none' }) let requestTimeout = false; // 使用局部变量 // 设置超时定时器(2分钟 = 120000毫秒) const timeoutTimer = setTimeout(() => { wx.hideLoading(); wx.showToast({ title: '请求超时,请重试~', icon: 'none' }); requestTimeout = true; // 标记为超时 }, 120000); orderUserInfo() .then( res => { // 清除超时定时器 clearTimeout(timeoutTimer); // 如果已经超时,不再执行后续逻辑 if (requestTimeout) return; if(res?.code === 200){ wx.hideLoading(); // ... 其余代码保持不变 } }) .catch(error => { // 清除超时定时器 clearTimeout(timeoutTimer); // 如果已经超时,不再执行后续逻辑 if (requestTimeout) return; // ... 其余代码保持不变 }) },
比如,我们设置一个timeoutTimer定时器。
网友评论文明上网理性发言 已有0人参与
发表评论: