gpt4 book ai didi

javascript - 在Promise中,response.status返回的是其他Promise而不是状态码

转载 作者:太空宇宙 更新时间:2023-11-04 03:00:18 25 4
gpt4 key购买 nike

我有一些 Javascript 代码可以向服务器发出 HTTP 请求,如下所示:

export const getUserByID = id => {
return Axios
.get(`${BaseURL}/usuarios/${id}`)
.then(response => response.status)
}

我希望它从 HTTP 请求返回状态代码。问题是,当我执行 console.log(getUserByID(id)) 时,浏览器控制台会打印一个 Promise,而不仅仅是 HTTP 状态中的状态代码,并且我想将该状态代码与一个表示我想要匹配的状态代码的数字进行比较:

if (getUserByID(id) === 204) {
// do stuff
}

当我执行 console.log(getUserByID(id) === 204) 时,我不断收到 false 我认为是因为我得到的 Promise 而不仅仅是一个数字。我应该怎么办?

最佳答案

getUserByID() 返回一个 Promise,因此您需要等待它解析才能获取响应状态代码。例如这样:

getUserByID(id).then((status) => {

if (status === 204) {
// do stuff
}
}).catch(console.error);

或者,如果您处于 async 函数中,则可以使用 await 关键字:

const status = await getUserByID(id); // it will work only inside an `async` function
if (status && status === 204) {
// do stuff
}

关于javascript - 在Promise中,response.status返回的是其他Promise而不是状态码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58997912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com