我有这段代码:
fetch(url).then(response => {
const json = response.json();
console.log('simplest possible fetch', json, json.where);
});
在控制台中我得到:
simplest possible fetch Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined} undefined
我得到了大多数的时间。有时我会得到成功"状态。对我而言,这意味着在获取提交已解决之前正在运行回调。
我希望只有在fetch完成时才能运行该函数。我该怎么做?
答案 0 :(得分:10)
response.json()
返回一个承诺,使用then
回调来获取数据:
Body mixin的json()方法接受一个Response流并将其读取完成。它返回一个promise,解析为将正文解析为JSON的结果。
fetch(url)
.then(response => response.json())
.then(data => console.log('simplest possible fetch', data, data.where));