async,await(特点,项目中应用)?

async,await作用:

都是一套关于异步的解决方案,async/await 的优势在于处理 then 链

async :

async 函数(包含函数语句、函数表达式、Lambda表达式)会返回一个 Promise 对象,如果在函数中 return 一个直接量,async 会把这个直接量封装成 Promise 对象。
写法:在函数前面加上async

await :

await 是在等待一个 async 函数完成。
因为 async 函数返回一个 Promise 对象,所以 await 可以用于等待一个 async 函数的返回值——这也可以说是 await 在等 async 函数。await 不仅仅用于等 Promise 对象,它可以等任意表达式的结果,所以,await 后面实际是可以接普通函数调用或者直接量的。
写法:在需要执行的代码前面加await

await有两个作用,一是作为求值关键字,二是将异步操作变成同步操作;如果方法中使用了await,那么在方法前面必须加上async

当await作为求值关键字时 后面可以跟Promise或表达式,可以直接获取Promise中的值或表达式的值

跟Promise

app.use(async (ctx, next) => {
  // next()返回的是Promise,a的值是"hello, world!"
  const a = await next();
  
  const b = next();
  b.then((res) => {
    console.log(res); // 打印出"hello, world!"
  })
});

app.use((ctx, next) => {
  return "hello, world!";
})

跟表达式

const a = await 100*100;

async的作用是将方法的返回值封装成Promise

async function t() {
  return "hello";
}

console.log(t()); // 打印出 Promise{"hello"}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值