async搭配await是ES7提出的,它的實作是基于Promise。通過同步方式的寫法,使得代碼更容易閱讀。await函數不能單獨使用,而且async函數傳回的是一個Promise對象,可以使用then函數添加回調函數。
示例1:
async function testSync() {
const response = await new Promise(resolve => {
setTimeout(() => {
resolve("async await test...");
}, 1000);
});
console.log(response);
}
testSync();//async await test...
示例2:
vue中的用法
async getScheduleList(selectDate) {
let response;
// 這裡request為向服務的發請求的方法
await request(api.getScheduleList, {
date: selectDate
}).then(res => {
response = res;
});
return response
}
init() {
this.getScheduleList(selectDate).then(res => {
console.log(res)
})
}
示例3:
swichMenu: async function() {
//點選其中一個 menu
const num = await getNum()
return num
}
swichMenu().then(res => {
console.log(res)
})