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