ABC*_*ABC 2 javascript mysql knex.js
我正在尝试使用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);
Run Code Online (Sandbox Code Playgroud)
我希望得到我的查询行,但输出是
KNEX Promise {
_c: [],
_a: undefined,
_s: 0,
_d: false,
_v: undefined,
_h: 0,
_n: false }
Run Code Online (Sandbox Code Playgroud)
您应该在异步签名函数中调用await.这是我使用的模式.
(async function(){
const res = await getUsers();
console.log('KNEX', res);
})()
Run Code Online (Sandbox Code Playgroud)
异步函数返回承诺,因此您需要将返回的值getUsers视为承诺,因此await它们或.then()对它们使用方法:
getUsers().then((res) => console.log(res))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7250 次 |
| 最近记录: |