搜尋

首頁  >  問答  >  主體

javascript - 函數包含一個fetch請求,如何把fetch請求的結果透過函數return出去

下邊我簡單的寫一下想法

function demo(){

let data=[];
fetch(xxx).then((res)=>{
    data.push(res);
})
return data;

}

由於是非同步請求,所以return的data還是空數組,而非包含請求資料的陣列。那有什麼辦法在取得數據後再return出去呢?

PHP中文网PHP中文网2751 天前768

全部回覆(4)我來回復

  • 淡淡烟草味

    淡淡烟草味2017-05-19 10:22:15

    非同步是不可能return值出去的

    值只能在回呼函數中處理

    回覆
    0
  • ringa_lee

    ringa_lee2017-05-19 10:22:15

    雷雷

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:22:15

    使用async/await方式

    async function demo(){
        let data=[];
        await fetch(xxx).then((res)=>{
            data.push(res);
        })
        return data;
    }

    然後執行該函數

    回覆
    0
  • 黄舟

    黄舟2017-05-19 10:22:15

    用await,注意需要建造

    async function demo(){
        const response = await fetch(url, options);
        // todo: 异常处理
        
        const data = await response.json();
        return data;
    }

    參考es6 await

    回覆
    0
  • 取消回覆