uni.request({
url: requestUrl,
}).then(res => {
let [error, data] = res
console.log('error', error);
console.log('success', data);
}).catch(err => {
console.log('request fail', err);
});
上面这段代码有情况会走到 catch
分支吗?有的话什么时候会走到?
我调试的情况来看,应用服务器成功返回响应数据时,会走到then
分支,数据存放在为data
中。如果没有网络,也会走到then
分支。
2 个回复
LGG233 - others
说明then中返回的res的格式可能有问题,比如res返回的是null,对null使用赋值解构会导致异常,从而进到了catch。
H***@geely.com (作者)
也就是说,只有在
then
中throw 一个 Error 的时候,才会走到catch
分支, 是吧?LGG233
是的,在then中发生了异常代码不会往下执行,并且会进入到catch
2024-08-09 11:39