async
1. 它作为一个关键字放在函数前面,用于表示函数是一个异步函数。
2. 返回的是一个promise对象,如果想要获取到promise的值,就要使用then()方法
3. 不可直接使用函数名() 这样的形式调用异步函数,如果要这样使用,需要放在新定义的异步函数体内去调用
created(){ this.data().then(reslove => { console.log(reslove); // 4 }) }, medthos(){ async data() { return 1 + 3 }, }
如果函数内部抛出错误,promise对象有个catch方法进行捕获。
await
await关键字要在ansyc函数里面
1. await修饰的如果是promise对象,可以获取到promise中返回的内容(resolve和reject参数),且取到值后语句才会往下执行
2. 如果不是promise对象,把这个非promise的东西当作await表达式的结果
created(){ this.get() }, methods(){ async get() { let aa = await this.getData() console.log(111, 'aaa'); return aa }, }