async

//1. 如果返回值非promise类型的数据,直接返回结果值
//2. 如果是promise类型的数据,返回成功或者失败的promise对象
//3. 抛出异常,返回失败的promise对象
async function num (params) {
  // return 666
  let p = new Promise((resolve, reject) => {
    resolve('ok')
    // reject('err')
  })
  console.log(p);
}
num()

await

//1.await右侧表达式一般为promise对象,但也可以是其它值
//2.如果是promise对象,await返回的是promise成功的值
//3.如果表达式是其它值,直接将此值做为await的返回值
//4.await必须写在async函数中,但async函数中可以没有await
//5.如果await失败了,就会抛出异常,需要通过try...catch捕获异常
async function main (params) {
  let p = new Promise((resolve, reject) => {
    resolve('ok')
    // reject('err')
  })
  try {
    let res = await p
    console.log(res);
  } catch (error) {
    console.log(errror);
  }
}
main()
Last Updated:
Contributors: pengrengui