做用: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) }) }) }, },