我目前正在开发一个烹饪应用程序,API有问题。
IngredientsController.get('/', async (req, res) => {
let ingredients:Ingredient[] = []
await pool.query({text:'SELECT * FROM Ingredients ORDER BY id'}, (error: Error, results: QueryResult) => {
if (error) {
throw(error);
}
for (let key in results.rows) {
let ingredient:Ingredient = new Ingredient(Number(results.rows[key].id), results.rows[key].name);
ingredients.push(ingredient);
}
res.status(200);
res.json(ingredients);
})
console.log(ingredients)
return res;
})
字符串
当我在浏览器上测试API时,我可以看到整个成分列表。
我的问题是,console.log(ingredients)
指令显示一个空数组。
谁能告诉我我的控制器出了什么问题?
正如你在代码中所看到的,我在代码中放置了一个await指令,但是它仍然不工作。是因为我在查询函数中加载了数组吗?
1条答案
按热度按时间uplii1fm1#
将
await
从以下位置更改:字符串
收件人:
型
一旦您看到它工作了,就可以重新添加循环结构;不过,我可能会Map
results.rows
来创建ingredients
数组。