我正在尝试将 Knex 与 async/await 一起使用,因为 Knex 有一个 Promise 接口。 我的代码如下。
const db = makeKnex({
client: 'mysql',
connection: {
host: process.env.MYSQL_HOST,
user: process.env.MYSQL_USER,
password: process.env.MYSQL_PASSWORD,
database: process.env.MYSQL_DATABASE,
},
pool: { min: 0, max: 100 },
});
async function getUsers() {
return await db.select()
.from('users')
.limit(10);
}
const res = getUsers();
console.log('KNEX', res);
我希望得到我的查询行,但输出是
KNEX Promise {
_c: [],
_a: undefined,
_s: 0,
_d: false,
_v: undefined,
_h: 0,
_n: false }
你可能应该换行
const res = getUsers();
console.log('KNEX', res);
进入async
函数并将 await 放在 getUsers() 之前;
(async function() {
const res = await getUsers();
console.log('KNEX', res);
}())
还要考虑 try/catch 进行错误处理(冒泡)
嗯,这行得通
async function test(){
const res = await getUsers();
console.log('KNEX', res);
}
test();
这与 knex 无关,而只是关于 async / await 和 Promise 的一般内容。 关闭...
最有用的评论
这与 knex 无关,而只是关于 async / await 和 Promise 的一般内容。 关闭...