async 与 await
async与await分别都有语法,两种语法结合就可以使异步代码像同步代码一样
async函数:
返回值是一个promise对象(一个普通函数加了async后返回的也是promise对象,对象的状态由函数的返回结果决定,只要是非promise对象,肯定是成功的状态,如果是promise对象,就有里面的结果决定,返回的值,也是里面promise对象的值)这就与promise那一章中.then输出结果一样
当是一个非promise对象时:
当是一个promise对象时:
await表达式:
因为await右侧一般是一个promise对象,那么下面先改造上面的例子
加上await:(输出结果变成了1,不再是一个promise对象)
如果是失败,async里面就写try{...}catch(){...}
总结:async返回的是一个promise对象不方便使用,有了await就是用来处理promise的,就直接可以拿到真正的值
后面会用到axios这个npm包,他的返回结果就是一个promise对象,用他发请求,用await接收结果非常非常方便!
最简单