gpt4 book ai didi

javascript - 为什么 fetch 返回 promise 未决?

转载 作者:行者123 更新时间:2023-12-05 00:25:37 25 4
gpt4 key购买 nike

我正在使用 fetch 来获取数据,但它一直将 promise 返回为待处理。我看过很多关于这个问题的帖子,并尝试了所有的可能性,但没有解决我的问题。我想知道为什么 fetch 简要地返回 promise 作为待处理状态 fetch 返回待处理状态的可能情况是什么?

我的一段代码供引用:

fetch(res.url).then(function(u){ 
return u.json();
})
.then(function(j) {
console.log(j);
});

最佳答案

一个 fetch()是网络操作。为了避免在我们得到网络回复之前挂起,我们将其推迟到后台,并给自己一个最终会完成的 promise 。

所以fetch(url).then((data) => data.json())意味着我们获取 url,等待数据进入,获取数据的 json 表示并等待(data.json() 也是一个 promise )

在我们得到结果之前, promise 在 pending 中。状态。服务器还没有回复我们的请求。

--
阅读评论,添加一个错误处理程序可能会很好,因为这就是为什么当前 fetch 应该没有做任何事情的原因:fetch().then((data) => data.json()).catch((error) => console.log(error))

关于javascript - 为什么 fetch 返回 promise 未决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59394620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com