Javascript中async与await的用法
2021-06-22 本文已影响0人
不断学习
问题
希望在一个函数执行完毕之后才去执行另外一个函数,如何解决?
关于async
async 其实就是promise的语法糖。函数前面必须加一个async,异步操作的方法前加一个await 关键字。顾名思义,就是让你等一下,执行完了再继续往下走。注意:await 只能在async函数中执行,否则会报错。
关于await
await的意思就是等待。它后面可以跟一个表达式。如果是值(如字符串、数字、普通对象等等)的话,返回值就是本身的值。
通常使用方式为在后面跟一个promise对象。await会等待这个promise的状态由pending转为fulfilled或者rejected。在此期间它会阻塞,延迟执行await语句后面的语句。
如果promise对象的结果是resolve,它会将resolve的值,作为await表达式的运算结果。
例子
对于一个操作(创建菜单),需要在获取到token之后利用token才能执行这个操作,那么对应代码如下:
那么可用以下方式实现二者的依次执行:
执行:
输出结果:
关于异常
例:假定上述例子在获取token的时候发生了异常,即Promise对象状态为reject,此时要在async函数中对异常进行处理,如下所示: