首先我们要明白
async 返回的是一个promise对象必须得用.then接收的
而await 得到的是一个值,可以是任何的等待!还可以等待js的执行结果!
举例:
async function aa() { return 2 console.log('2') } var s = aa() s // ->Promise {<fulfilled>: undefined} var b = await aa() b // => 2
直接上实际使用吧!
c1() { getList({id:'2'}).then(res=>{ return res }) }, async c2() { let b= await this.c1() console.log('先输出了'+b) },
这个时候,如果我们不用async组合,那么我们的console.log('先输出了' +b)就会先输出了!而b,这时候并没有执行完成,所以我们b是空值!
但是我们用了之后,就会等待c1的结果后,再进行输出!所以我们就能拿到对应的b的结果!