wait perlu digunakan dalam fungsi async, jadi setiap kali kita ingin menggunakan await, kita mesti mentakrifkannya dahulu dalam fungsi async dan kemudian memanggil fungsi async ini.
Sama seperti ini
async function fn(){}
fn()
Contoh yang lebih terperinci
async function asy(){
// 获取当前城市的位置 获取热门城市 获取所有城市
const [resCityGuess,resCityHot,resCityAll]=await Promise.all([
this.http.get('api/v1/cities?type=guess'),
this.http.get('api/v1/cities?type=hot'),
this.http.get('api/v1/cities?type=group')
])
this.cityGuessName=resCityGuess.data.name;
this.cityGuessId=resCityGuess.data.id;
this.cityHot=resCityHot.data;
this.cityAll=resCityAll.data;
}
asy.apply(this);
Setiap kali anda menggunakan await, anda perlu mentakrifkan async sekali lagi dan kemudian memanggilnya saya mendapati proses ini agak menyusahkan dan berulang, jadi saya ingin bertanya sama ada terdapat cara untuk mengoptimumkan atau menyelesaikan masalah ini?
async tidak memerlukan tunggu, tunggu mesti bergantung pada async
Nilai pulangan fungsi yang diisytiharkan oleh async ialah objek Promise:
Fungsi sedemikian
Untuk menggunakan await, anda perlu meletakkannya dalam fungsi async
Jika anda tidak menggunakan await, gunakan sahaja ia sebagai Janji
Cuba ini