async/await 用法,如何捕获异常? 🍉
我们首先来看一下 async/await的解释:
如果你在代码中使用了异步函数,就会发现它的语法和结构会更像是标准的同步函数。
现在我们一般使用promise来解决异步编程的问题,相比之前刚开始使用回调的时候,Promise的then方法显得非常好用,清晰,易懂。但是当我们如果有多个相互依赖的请求。
有两个问题: 1.难以理解执行顺序 2.代码不太好读
所以就诞生了async和await。(异步函数像是标准的同步函数)。将人类大脑的负担减少。
async 函数返回的是一个Promise对象,如果函数中有返回值。则通过Promise.resole()封装成Promise对象,当然我们就可以使用then()就可以取出这个值。async只能配套和await使用,单独使用就会报错。
async function foo(){
let bar = await test()
}
await 后面接受一个Promise 对象。当Promise对象状态变化的时候,得到返回值。async函数完全可以看作多个异步操作,封装成的一个Promise对象,而await就是内部then命令的语法糖,用同步的书写方式实现异步代码。
错误处理
如果await后面的异步操作出错,那么等同于async函数返回的 Promise 对象被reject。
防止出错的方法就是我们将其放在try/catch代码块中。并且能够捕获异常。
async function fn(){
try{
let a = await Promise.reject('error')
}catch(error){
console.log(error)
}
}
如果对你有帮助的话,请点个👍吧!我们继续分享更多文章的~
本文使用 mdnice 排版