3 回答
TA贡献1752条经验 获得超4个赞
要await真正等到fetch完成,您应该返回承诺:
async function firstFunction(){
return fetch("api/favstop/")
.then(response => {
return response.json();
})
.then(data => {
for(var i = 0; i<= data.length; i++){
favouriteStops.push(data[i].stopid)
}
})
};
TA贡献1824条经验 获得超6个赞
await您可以通过使用inside firstFunctionlike轻松解决此问题:
async function firstFunction() {
const response = await fetch("api/favstop/")
const data = await response.json();
for (var i = 0; i <= data.length; i++) {
favouriteStops.push(data[i].stopid)
}
};
或者,只返回如下承诺:
async function firstFunction() {
return fetch("api/favstop/")
.then(response => {
return response.json();
})
.then(data => {
for (var i = 0; i <= data.length; i++) {
favouriteStops.push(data[i].stopid)
}
})
};
TA贡献1811条经验 获得超4个赞
您不需要在异步函数中使用承诺链。事实上,它有点违背了整个目的。所以,你的异步函数看起来有点像这样:
async function firstFunction(){
const fetcher = await fetch("api/favstop/");
const data = await fetcher.json();
for(var i = 0; i<= data.length; i++){
favouriteStops.push(data[i].stopid)
}
};
添加回答
举报