fetch第一层回调的结果response是什么,为什么返回的数据是在第二层then里面

比如


fetch(url).then(function(response) {

  return response.json();

}).then(function(data) {

  console.log(data);

}).catch(function(e) {

  console.log("Oops, error");

});

一般我们想要的数据在第二层then里面,那第一层then的respose有什么用,为什么还要return?里面是什么信息?状态码?


达令说
浏览 854回答 2
2回答

温温酱

response是Response对象,包含Header、status、statusText等属性。要获得具体数据需要使用.json(用于JSON)、.text(用于文本)、.formData(用于FormData对象)等方法。至于为什么需要return,因为Response.json返回的是一个Promise,所以只能先return,再在下一层处理。fetch(url).    then(function(response) {        // 打印响应头        console.log(response.headers);        //打印状态码        console.log(response.status);        //打印状态信息        console.log(response.statusText);        // 使用.json方法获得具体返回数据,再下一层Promise里处理        return response.json();    })    .then(function(data) { console.log(data); })    .catch(function(e) { console.log("Oops, eror");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript