Heim > Fragen und Antworten > Hauptteil
Ich werde unten einfach meine Gedanken niederschreiben
Funktionsdemo(){
let data=[];
fetch(xxx).then((res)=>{
data.push(res);
})
return data;
}
Da es sich um eine asynchrone Anfrage handelt, sind die zurückgegebenen Daten immer noch ein leeres Array und kein Array, das die angeforderten Daten enthält. Gibt es also eine Möglichkeit, die Daten abzurufen und dann zurückzugeben?
ringa_lee2017-05-19 10:22:15
function demo(){
let data=[];
return fetch(xxx).then((res)=>{
data.push(res);
})
}
demo().then(data=>console.log(data))
过去多啦不再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