美文网首页
async与await总结

async与await总结

作者: 周星星的学习笔记 | 来源:发表于2021-03-29 11:37 被阅读0次

async与await两种语法结合可以让异步代码像同步代码一样。

一、async函数

  • async函数的返回值为promise对象。
  • promise对象的结果由async函数执行的返回值决定。

1.函数体内返回的不是promise类型的对象,则函数返回的就是成功的promise。

async function func() {
    //1.直接return
    //return;
    //2.return一个字符串
    return 'hello';
}
console.log(func());
结果

2.抛出错误,则函数返回的是一个失败的promise。

async function func() {
     throw new Error('出错啦');
}
console.log(func());
结果

3.函数体内返回一个promise,则函数返回的是一个promise(成功还是失败由函数体内的状态决定)。

async function func() {
  return new Promise((resolve, reject) => {
      resolve('成功的数据')
  })
}
console.log(func());
结果

二、await表达式

  • await必须写在async函数中。
  • await右侧的表达式一般为promise对象。
  • await返回的是promise成功的值。
  • await的promise失败了,就会抛出异常,需要通过try...catch捕获处理。
let func = () => {
    return new Promise((resolve, reject) => {
        resolve('成功的数据')
    })
}
async function test() {
  let ret = await func();
  console.log(ret);
}
test();
结果

相关文章

网友评论

      本文标题:async与await总结

      本文链接:https://www.haomeiwen.com/subject/uaovhltx.html