问题描述
I make fetch request in javascript . It is fetching data when I seed console it show me data. but when I try to alert it in then function it displays empty. it show alert promptly with page load. I think it alerting before request response
Here is my javascript code
fetch("https://01b4e41e6262.ngrok.io/api/get_schedule_orders/" + gUser.getData().id).then(res => {
if (res.ok) {
alert(res)
}
});
fetch()
returns a Promise
initially, so res is initially a promise, either resolved or rejected.
Then res.json()
again returns a promise and not the value directly (You may verify this by doing a console.log(res)
in the first then()
, there in the prototype you will see json()
, which is again Promise based.
That's why we chain promises by doing return res.json()
and get our data in the second promise resolve and in case of rejection catch()
callback is invoked.
fetch("https://01b4e41e6262.ngrok.io/api/get_schedule_orders/" + gUser.getData().id).then(res => {
if (res.status>=200 && res.status <300) {
return res.json()
}else{
throw new Error();
}
}).then(data=>console.log(data))
.catch(err=>console.log('fetch() failed'))
UPDATE: your API is returning an empty array.
Please check the API params.
这篇关于如何从 fetch javascript 请求的响应中获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!