Welcome to JiKe DevOps Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
426 views
in Technique[技术] by (71.8m points)

knex 如何做到判断外层调用是否 await 或者添加了 then 的?

// 这段代码不会返回数据库查询结果,返回的是 QueryBuilder
knex.table('user').where({ id: 1 }).first()


// 下面的会成功返回数据库查询结果
await knex.table('user').where({ id: 1 }).first()
knex.table('user').where({ id: 1 }).first().then(...)

knex 是如何做到判断外部调用方式而返回 Promise 或者 QueryBuilder 的?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

Please log in or register to answer this question.

1 Answer

0 votes
by (71.8m points)

then 是 QueryBuild 上面的一个函数即可。
应该是这里 https://github.com/knex/knex/blob/master/lib/interface.js#L18


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to JiKe DevOps Community for programmer and developer-Open, Learning and Share
...