JavaScript基本功之async-await

base

执行机制

  • async 函数返回 Promise 对象,可以使用 then 方法添加回调函数。
  • 当函数执行的时候,遇到 await 就会先返回,等到触发的异步操作完成,再接着执行 await 后面的语句。

async和await关系

  • await 要放在 async 函数中
  • 反过来 async 函数内可以没有 await

定义async方法的返回

  • 没有返回: 相当于 return Promise.resolve(undefined)
  • 返回基本类型: 相当于 return Promise.resolve(‘abc’)
  • 抛出异常: 类似于 return Promise.reject(‘发生异常’
  • 返回 promise resolve
  • 返回 promise reject
// 1. 没有返回: 相当于 return Promise.resolve(undefined)
async function fn (){
   
  console.log('执行一些操作')
}
let p = fn()
console.log('p=',p)
p.then(data=>{
   console.log('data=',data)})
// 执行一些操作
// p= Promise {: undefined}
// data= undefined
// 2. 返回基本类型: 相当于 return Promise.resolve('abc')
async function fn (){
   
  console.log('执行一些操作')
  return 'abc'
}
let p = fn()
console.log('p=',p)
p.then(data=>{
   console.log('data=',data)})
// 执行一些操作
// p= Promise {: 'abc'}
// data= abc
// 3. 抛出异常: 类似于 return Promise.reject('发生异常'
async function fn (){
   
  console.log('执行一些操作')
  throw new Error('发生异常')
}
let p = fn()
console.log('p=',p)
p.then(data=>{
   console.log('data=',data)})
.catch(error=>console.log(&#

你可能感兴趣的:(javascript,javascript,前端,开发语言)