做用:async
和await
是用来处理异步的。须要异步像同步同样执行,须要异步返回结果以后,再往下依据结果继续执行。 ios
await
必须放在async
function之中的做用就是等待Promise的resolve的出现,这个过程是阻塞的axios
async
用于申明一个 function
是异步的,
而 await
用于等待一个异步方法执行完成。使用了await就没必要使用then来接受异步操做的返回值,而是直接赋值给变量便可,所赋的值就是resolve给出的值。异步
加上接口axios例子async
created () { this.init() }, methods: { //拿到方法1与方法2的两个结果后,执行init方法 async init () { try { let oneRes = await this.queryOne(); let twoRes = await this.queryTwo(); let res = oneRes + twoRes; console.log(res); } catch (error) { console.log(error); } }, //方法1 queryOne () { const params = {name: xxx} return new Promise((resolve, reject) => { axios.post('/XXXX', { params}).then((res) => { if (data.rs === 1) { resolve(data) } }).catch((err) => { reject(err) }) }) }, //方法2 queryTwo () { const params = {name: xxx} return new Promise((resolve, reject) => { axios.post('/XXXX', { params }).then((data) => { if (data.rs === 1) { resolve(data) } }).catch((err) => { reject(err) }) }) }, },