Fetch api,为什么我必须在响应json()上使用它,试图让承诺有意义



我试图理解承诺,所以我尝试了一个简单的get请求在twitch。我不明白的是为什么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函数时,它意味着响应已被接收,因此数据应该立即可访问,而不需要另一个承诺。

From the docs:

fetch()请求的响应是一个Stream对象,这意味着当我们调用json()方法时,会返回一个Promise流的读取将异步进行。

相关内容

  • 没有找到相关文章

最新更新