从 JSON 响应访问 [Symbol(Response internals)]

2022-01-11 00:00:00 json header fetch javascript

我正在使用库 isomorphic-unfetch (https:///www.npmjs.com/package/isomorphic-unfetch) 从 Rest API 获取 JSON 数据.这就是我提出请求的方式:

I'm using the library isomorphic-unfetch (https://www.npmjs.com/package/isomorphic-unfetch) to get JSON data from a Rest API. This is how I make the request:

    const res = await fetch(
      `url`
    );

要访问正文,我只需要这样做

To access the body I simply need to do

    const response = await res.json()

但是如何访问响应标头?如果我将响应记录到我的服务器控制台,这就是我所看到的:

But how do I access the response headers? If I log the response to my server's console this is what I see:

Response {
  size: 0,
  timeout: 0,
  [Symbol(Body internals)]: {
    // stuff
  },
  [Symbol(Response internals)]: {
    url: 'request url',
    status: 200,
    statusText: 'OK',
    headers: Headers { [Symbol(map)]: [Object: null prototype] },
    counter: 0
  }
}

什么是符号(响应内部)?以及如何访问它的 headers 属性?

What's Symbol(Response internals)? And how do I access its headers property?

推荐答案

要访问其 headers,请使用以下方法之一:

To access its headers use one of the following:

const res = await fetch(url);
console.log(res.headers.get('content-type');
// or
res.headers.forEach(header => console.log(header));

https://github.github.io/fetch/#Headers

相关文章