使用 Promise 处理
正常情况下,await 命令后面是一个 Promise 对象。所以它本身就可以使用 .catch
来捕获异常,处理 loading 状态的操作,完全可以在 .catch
进行处理,然后用 if
判断来控制提前退出,没必要写 try-catch 这种冗余代码。
setLoading(true);
let res = await getList().catch(() => setLoading(false));
if (!res) return;
// 请求成功后正常操作
未经允许不得转载:w3h5-Web前端开发资源网 » async await 捕获异常,处理loading状态