我想知道如何从客户端成功地检索NodeJS中的JSON响应,我的目标是获得Google Compute Engine项目的示例列表。
服务器代码
// Listar las máquinas virtuales a las que tiene acceso un usuario cuyo ID es "userId"
app.get('/vms_client/:userId/list', (req,res) => {
let instances = new Map();
listVM(instances).then(() => {
//console.log(instances);
res.json(instances);
console.log("Listado de máquinas devuelto")
}
).catch((e) => {
console.log(e);
res.status(500).json({ error: e })
})
})
字符串
客户端代码
function getInstances(userId) {
let instances = new Map();
fetch(APILINK + userId + "/list", {method: 'GET'})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
response.json();
})
.then(function(data) {
console.log(data);
instances = data;
})
.catch(error => {
console.error('Error:', error);
});
return instances;
}
型
在服务器上,在“console.log(instances)"中,在“res.json(instances)"之前,“instances”对象显示为一个Map,带有现有示例的示例ID和示例名称。我不明白为什么客户端会得到一个未定义的JSON对象。
我在服务器里输入了快递和快递。
希望有人能给予点线索。
谢谢
1条答案
按热度按时间pinkon5k1#
您试图在收到API响应之前使用示例。您需要使用JavaScript await方法进行相同的操作。
字符串