我正在使用 sqlite 作为我的数据库的节点项目。
function select_from_table(tablename, limit) {
let arr = [];
let sql = `SELECT id FROM ${tablename} WHERE Type='Real' LIMIT ${limit}`;
db.each(sql, function (err, row) {
console.log(row.PropertyId);
arr.push(row.PropertyId);
});
return arr;
}
当我跑步时:
console.log(select_from_table('myData', 4));
我得到'[]'
逐步执行此操作,我看到控制权正确返回数组,然后返回到上面的循环执行选择,因此永远不会返回 arr。然后我尝试:
async function select_from_table(tablename, limit) {
let arr = [];
let sql = `SELECT id FROM ${tablename} WHERE Type='Real' LIMIT ${limit}`;
await db.each(sql, function (err, row) {
console.log(row.PropertyId);
arr.push(row.PropertyId);
});
return await arr;
}
但这会返回一个承诺。返回所选结果的最佳方法是什么?