Eu tenho o seguinte código Curl em JavaScript:
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;
})
}
mas o elemento with id = output
imprime isto:
[object Promise]
E se eu imprimir no arquivo console
, com o mesmo código de antes, mas adicionando isto:
...
.then(function(response) {
obj = response.json();
}).then(() => {
console.log(obj);
})
...
Eu entendi isso :
E quando eu expando a seta para a esquerda PromiseResult
, recebo isto:
user_id: 2
user_name: john
created_at: "2024-01-04T04:01:03.855Z"
address: "Some address"
É isso que eu quero, mas não consigo imprimir ou armazenar, só está disponível no console.
O problema é
response.json()
retornar a(another)Promise
então você precisará de outrothen
para lidar com os dados resolvidos. Algo como: