一、相关报错
unhandledRejection: {
"errMsg":"request:fail network not available",
"errNo":10401,
"isPrefetch":false,
"prefetchDetail":-1,
"prefetchInfo":{
"mismatchReason":"'usePrefetchCache' is false",
"actualValue":"https://api.qingzhangwh.cn/v2/Track/toutiao"
}
}
捕捉截图:
二、解析
request:fail network not available释义为:网络不可用
其实此报错与系统代码无关,一般为用户的网络情况不佳导致,与此相关的报错信息还有:
"errMsg":"request:fail request time out","errNo":21103...等
三、如何解决或优化
一般出现此问题,最好给用户一个提示信息,以此提升用户体验感。
以uniapp项目为例,uniapp项目可以在manifest.json文件中,统一设置接口请求超时时间,如下图
可看个人需要设置超时时间,一般为20~30s(仅供参考)
// 接口超时设置
"networkTimeout" : {
"request" : 20000 // 接口超时时间设置为20s
},
超时时间设置后,在request请求文件fail回调中统一处理报错信息,如下示例:
fail: (err)=> {
// 可加if判断是否为网络超时 再给网络相关提示
uni.showModal({
title: '提示',
showCancel: false,
content: '网络不给力,请求超时'
})
}
(当然,也可以在此做页面跳转或刷新处理)
四、结语
以上仅为个人观点,感谢观看。