我在 JavaScript 中有以下 Curl 代码:
function login() {
var obj;
const outputElement = document.getElementById('output');
return fetch('http://localhost:3000/api-keys', {
method: 'POST',
headers: {
'Authorization': 'Basic ' + btoa('[email protected]:123456'),
"content-type": "application/json"
}
}).then(function(response) {
obj = response.json();
}).then(() => {
outputElement.textContent = obj;
})
}
但带有打印的元素id = output
:
[object Promise]
如果我在 中打印它console
,使用与之前相同的代码,但添加以下内容:
...
.then(function(response) {
obj = response.json();
}).then(() => {
console.log(obj);
})
...
我明白了:
当我将箭头展开到 的左侧时PromiseResult
,我得到:
user_id: 2
user_name: john
created_at: "2024-01-04T04:01:03.855Z"
address: "Some address"
这就是我想要的,但我无法打印或存储它,它只能在控制台中使用。
问题是
response.json()
返回一个(另一个)Promise
,因此您将需要另一个then
来处理已解析的数据。就像是: