亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

javascript - 如何在非async函數下使用await

瀏覽:106日期:2023-09-20 10:52:43

問題描述

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然后再調用,這一個過程我覺得略微麻煩以及重復,所以想問下是否存在什么辦法優化或者解決這一問題?

問題解答

回答1:

async 可以不需要 await, await 必須依賴 async

回答2:

async聲明的函數返回值是Promise對象:

這樣一個函數

async function fn() {}

使用await就需要放在async函數中

async function anthor() { await fn()}

不使用await就當作Promise用

function anthor() { fn().then(...).catch(...)}回答3:

試試這樣

function asy(){ // 獲取當前城市的位置 獲取熱門城市 獲取所有城市 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’) ]).then(values =>{this.cityGuessName=resCityGuess.data.name;this.cityGuessId=values[0].data.id;this.cityHot=values[1].data;this.cityAll=values[2].data; });}asy.apply(this);

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产精品国产三级国产在线观看 | 亚洲男人天堂网站 | 欧美精品不卡 | 一级特级aaaa毛片免费观看 | 国产理伦 | 黄色网址网站在线观看 | 欧美一区二区在线免费观看 | 92手机看片福利永久国产 | 精品手机在线 | 伊人蜜桃| 色樱桃影院亚洲精品影院 | 欧美精品久久一区二区三区 | 国产网站免费在线观看 | 波多野结衣一区二区 | 国产欧美日韩精品第二区 | 精品国产中文一级毛片在线看 | 日本特爽特黄特刺激大片 | 国产精品高清久久久久久久 | 欧美特级 | 久久午夜国产片 | 久久在线视频播放 | 国产高清视频免费观看 | 日本手机在线视频 | 成年人在线免费网站 | 久久国产国内精品对话对白 | 欧美满嘴射 | 成人免费观看国产高清 | 亚洲欧美日韩中文字幕在线一区 | 欧美日韩中文一区二区三区 | 国产精品亚欧美一区二区三区 | 久久观看 | 三级亚洲 | 成人全黄三级视频在线观看 | 国内精品国语自产拍在线观看55 | 一区二区中文字幕在线观看 | 久久精品一品道久久精品9 久久精品一区 | 国产手机国产手机在线 | 黄视频在线免费看 | 成人午夜免费观看 | 欧美a大片 | 久久精品国产线看观看亚洲 |