gpt4 book ai didi

javascript - 获得 promise 值(value)

转载 作者:行者123 更新时间:2023-12-01 01:52:07 25 4
gpt4 key购买 nike

我是 JavaScript 新手,我想获取 promiseValue 中的值,该值是在 POST 之后生成的。连接的 API 会带来一个 json 对象,如下所示:

{
"message": "User logged in successfully",
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1MzE4NTA2ODcsImlhdCI6MTUzMTg0ODg4NywidXNlcm5hbWUiOiJ5b3VxQGdtYWlsLmNvbSJ9.oTwcHkW64RS7ooz5_dzrmlvflI4Eg2Y39hGM0D-wZkY"
}

但是在谷歌浏览器中,我将其作为PromiseValue接收,因此我的目标是获取或打印消息 token promiseValue

下面的图片显示了我得到的promiseValue:

the output

下面是目前为止的代码:

fetch('https://xxxxxx.xxxxxxxx',
{
method: 'POST',
headers: {
'Accept': 'application/json,text/plain,*/*',
'Content-type': 'application/json'
},
body: JSON.stringify({
username: username,
password: password
})

}).then((res) =>{
if(res.status=='401'){
console.log(res.status)
console.log(res.json())
alert("Sorry please, invalid username or password.");
}
else if (res.status='200')
{
console.log(res.status)
console.log(res.json())

}
})
.then((data) => {
console.log(" my data : "+data)
})

最佳答案

res.json()返回一个 promise 。您需要从第一个 then 处理程序返回它,才能在第二个 then 处理程序中使用它:

fetch(...)
.then(res => {
if (res.status == '401') {
...
} else if (res.status = '200') {
...
}

return res.json(); // <-- Add this return call
})
.then(res => {
console.log(" my data : " + res);
console.log(res.token, res.message); // <-- Access the response keys here
});

关于javascript - 获得 promise 值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51394539/

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