我试图理解承诺,所以我在抽搐上尝试了一个简单的get请求。我不明白的是为什么会json()
返还诺言。为什么 ?响应中已经包含了数据,那么为什么这是一个诺言呢?
fetch('https://api.twitch.tv/kraken/games/top?limit=10&offset=0')
.then( resp => {
resp.json()
.then(function(data) {
console.log(data);
});
});
换句话说:首先then
,我了解,它等待响应。但是,当进入then函数时,这意味着已经接收到响应,因此应该立即访问数据,而无需另外的承诺。这只是让我感到困惑。
从文档:
fetch()请求的响应是一个Stream对象,这意味着当我们调用json()方法时,将返回Promise,因为流的读取将异步发生。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句