比如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?里面是什么信息?状态码?
2 回答
温温酱
TA贡献1752条经验 获得超4个赞
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");
添加回答
举报
0/150
提交
取消