JavaScript获取API您可以访问“.”中的头和JSON。然后是“回调”?

JavaScript获取API您可以访问“.”中的头和JSON。然后是“回调”?,javascript,json,fetch,response-headers,Javascript,Json,Fetch,Response Headers,我需要发出POST请求,然后根据响应和头,我需要更新保存的状态,我知道头可以通过response.header.get('SOME-KEY')获得,我可以在中访问响应的JSON部分 我想知道的是,有没有一种方法可以在包含已解析JSON响应数据的块中同时获取这两种数据?是的,您可以: .then(response => { console.log(response.data) console.log(response.headers) }) 我不知道我怎么会错过这个,解决方

我需要发出POST请求,然后根据响应和头,我需要更新保存的状态,我知道头可以通过
response.header.get('SOME-KEY')
获得,我可以在
中访问响应的JSON部分

我想知道的是,有没有一种方法可以在包含已解析JSON响应数据的块中同时获取这两种数据?

是的,您可以:

.then(response => {
    console.log(response.data)
    console.log(response.headers)
})

我不知道我怎么会错过这个,解决方案非常简单,
.json()
返回一个
承诺
,因此我们只需调用
。然后在当前上下文中对其进行
,并对标题和响应正文执行我们想要的操作:

fetch(“/url”)
.then(response=>response.json().then(json=>({…json,token:response.headers.get('token')})))
.then(json=>props.updateUser(json));

通过这种方式,我们可以获得所需的对象,该对象包含头值和响应数据。有时,解决问题所需的只是一点睡眠。

我希望访问响应的已解析json部分,因此我可以使用redux操作创建者将其与头一起发送,如:
props.updateUser({…json,token:response.header.get('token'))那么这样做有什么问题?从
response.data
获取json并将其与令牌合并。