亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于if語句中的異步請求

關于if語句中的異步請求

Smart貓小萌 2019-02-15 18:19:51
有一個列表需要通過異步接口獲取當前位置然后再返回數據,但是我不想每次都請求這個獲取位置,我就想先加個判斷,有值直接獲取列表,沒值先獲取位置再獲取列表,但是問題就來了,因為他是異步的,我沒辦法寫成下面這樣:if (!hasLocation) {      getLocationSync()} //TODO :getStoreList然后我現在就改成了這樣:if (!hasLocation) {      this.getLocationSync().then(this.getStoreList());} else {      this.getStoreList()}請問有什么優雅的寫法嗎???
查看完整描述

2 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

三目表達式:hasLocation ? this.getStoreList() : 

this.getLocationSync().then(this.getStoreList());

查看完整回答
反對 回復 2019-02-27
?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

let cacheList = Cache['list'];

new Promise((resolve, reject) => {

    if (cacheList && cacheList.length) {

        resolve(cacheList);

        return;

    }

    this.getLocationSync()

    .then(list => {

        // 緩存

        Cache['list'] = list;

        resolve(list);

    })

    .catch(reject);

})

.then(list => {

    console.log(list);

})


查看完整回答
反對 回復 2019-02-27
  • 2 回答
  • 0 關注
  • 852 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號