Node.js中如何访问node-fetch返回Headers里的x-error-detail-header参数
如何从node-fetch的Headers对象中访问
x-error-detail-header 嘿,刚好我之前也踩过这个坑!node-fetch返回的Headers对象可不是普通的JS对象,它遵循浏览器Fetch API的规范,内部用Symbol来存储头信息,所以你没法直接用headers['x-error-detail-header']或者点语法去读取——这就是你能看到[Symbol(map)]但拿不到具体值的原因。
要获取这个响应头其实很简单,用Headers对象自带的get()方法就行:
const fetch = require('node-fetch'); async function makeRequest() { const response = await fetch('你的目标请求URL'); // 用get方法获取指定头,名称大小写不敏感 const errorDetail = response.headers.get('x-error-detail-header'); console.log(errorDetail); // 会输出:Account Over Rate Limit } makeRequest();
额外实用技巧
如果你想查看所有响应头,还可以用这些方式:
- 遍历所有头键值对:
response.headers.forEach((value, key) => { console.log(`${key}: ${value}`); });
- 用
entries()获取迭代器遍历:
for (const [key, value] of response.headers.entries()) { console.log(`${key}: ${value}`); }
另外要注意,Headers API的方法是大小写不敏感的,所以不管你写x-error-detail-header还是X-Error-Detail-Header,都能拿到正确结果哦~
内容的提问来源于stack exchange,提问作者sendra
相关产品推荐
相关产品推荐

