下邊我簡單的寫一下想法
function demo(){
let data=[]; fetch(xxx).then((res)=>{ data.push(res); }) return data;
}
由於是非同步請求,所以return的data還是空數組,而非包含請求資料的陣列。那有什麼辦法在取得數據後再return出去呢?
认证0级讲师
非同步是不可能return值出去的
值只能在回呼函數中處理
雷雷
使用async/await方式
async function demo(){ let data=[]; await fetch(xxx).then((res)=>{ data.push(res); }) return data; }
然後執行該函數
用await,注意需要建造
async function demo(){ const response = await fetch(url, options); // todo: 异常处理 const data = await response.json(); return data; }
參考es6 await
非同步是不可能return值出去的
值只能在回呼函數中處理
雷雷
使用async/await方式
然後執行該函數
用await,注意需要建造
參考es6 await