下邊我簡單的寫一下想法
function demo(){
let data=[];
fetch(xxx).then((res)=>{
data.push(res);
})
return data;
}
由於是非同步請求,所以return的data還是空數組,而非包含請求資料的陣列。那有什麼辦法在取得數據後再return出去呢?
过去多啦不再A梦2017-05-19 10:22:15
使用async/await方式
async function demo(){
let data=[];
await fetch(xxx).then((res)=>{
data.push(res);
})
return data;
}
然後執行該函數
黄舟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