根据 Node 获取文档 node-fetch
我们可以这样得到响应状态
fetch('https://github.com/')
.then(res => {
console.log(res.status);
});
以及获取数据
fetch('https://api.github.com/users/github')
.then(res => res.json())
.then(jsonData => console.log(jsonData));
我有一个场景,我需要从响应中返回 JSON 数据和状态。我尝试这样使用
fetch('https://api.github.com/users/github')
.then(res => res.json())
.then(jsonData => {
console.log(jsonData);
console.log(jsonData.status);
});
但是
console.log(jsonData.status)
不会返回状态。如何获取状态和输出数据
最佳答案
最简单的解决方案是声明一个变量并为其分配 res.status
值:
let status;
fetch('https://api.github.com/users/github')
.then((res) => {
status = res.status;
return res.json()
})
.then((jsonResponse) => {
console.log(jsonResponse);
console.log(status);
})
.catch((err) => {
// handle error
console.error(err);
});
您也可以使用async/await
尝试这种方式:
const retrieveResponseStatus = async (url) => {
try {
const response = await fetch(url);
const { status } = response;
return status;
} catch (err) {
// handle error
console.error(err);
}
}
然后您可以将其与任何您想要的 URL 一起使用:
const status = waitretrieveStatus('https://api.github.com/users/github')
关于javascript - 如何使用node-fetch从API获取数据和响应状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51973958/