await需要在async函式中使用,所以每次我們想要使用await必須先在async函式中定義,然後再呼叫這個async函式。
就比如這樣
async function fn(){}
fn()
詳細一點的範例
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);
每次使用await之前都需要多定義一次async然後再調用,這一個過程我覺得略微麻煩以及重複,所以想問下是否存在什麼辦法優化或者解決這一問題?
async 可以不需要 await, await 必須依賴 async
async宣告的函數回傳值是Promise物件:
這樣一個函數
使用await就需要放在async函數中
不使用await就當作Promise用
試試這樣