【发布时间】:2021-03-18 04:10:51
【问题描述】:
好的,完全披露我是一名业余编码员,所以我知道我的知识存在差距。但是,我为此尝试了各种解决方案,但无法得到有效的答案。
期望的结果
我调用我的 Express 服务器,它从外部 API 获取数据并在检索到数据后呈现。
问题
无论我如何布置 async/await 模式,我似乎都无法让 Express 等待。目前我的代码如下:
Express.js
app.get('/getInventory', async (req, res) => {
try {
let inventory = await api.getInventory(req.query.id)
console.log(inventory)
res.json(inventory)
}
catch(err) {
console.log(err)
}
})
我的api.js目前是这样的:
exports.getInventory = async function(id){
let data = await manager.getInventoryContents(id, 570, 2, true, (err, inventory) => {
if (err) {
console.log(err)
Promise.reject(err)
}
else {
console.log('Success')
Promise.resolve(inventory)
}
})
return data
}
如果你想知道我有 console.log() 操作只是为了尝试看看什么时候发生了。
到目前为止我得到了什么
几乎每一种变化我都将Express.js库存作为undefined(类似地没有数据发送到客户端),但是我从@987654329收到Success消息(甚至库存本身) @。
我猜一旦我完成它,正确的语法是显而易见的,但我似乎无法让它正常运行。我错过了什么?
【问题讨论】:
标签: javascript node.js express async-await