ES7-async函数

2022-03-07  本文已影响0人  清风昙

anync函数是在ES2017标准中引入的,使用async关键字声明的函数,是AsyncFunction构造函数的实例。在async函数内部可以使用await关键字,表示紧跟在后面的表达式需要等待结果。async和await关键字可以更简洁的写出基于Promise的异步行为。

asnyc function asyncFunc() {
  return 'hello'
}
// 等价于
function asyncFunc() {
  return Promise.resolve('hello')
}
console.log(asyncFunc())  // Promise{'hello'}
asyncFunc().then(res => {
  console.log(res)  // hello
})

async函数内部return语句返回的值,会成为then()方法回调函数的参数
async函数中可以有await表达式,async函数执行时,如果遇到await,会先暂停执行,等到触发的异步操作完成后,再恢复async函数的执行并返回解析值。如:

function asyncFunc() {
  return new Promise(resolve => {
    console.log('延时任务')
    resolve()
  }, 1000)
}
async function helloAsync() {
  await asyncFunc()
  console.log('hello')
}
helloAsync()
// 延时任务
// hello
上一篇 下一篇

猜你喜欢

热点阅读