如何使用Knexjs在Apollo GraphQL Server的解析器上同步获取数据?例如,如果我运行以下查询:
const resolvers = {
Query: {
MySchema: (_, args, { dataSources }, info) => {
var result = db.knex.select('*')
.from('SomeTable')
.where({SomeColumn:'SomeValue'})
.then(function(rows) {console.log(rows)})
.catch(function(error) {console.error(error)});
// Do something with the result here..
console.log(result);
return db.knex.select('*').from('SomeOtherTable')
}
}
}
该行console.log(result);
仅显示 aPromise {<pending>}
并且当该行.then(function(rows) {console.log(rows)})
(异步)执行时,主函数已经完成。
有没有办法获得数据库查询的结果而不是在线承诺console.log(result);
?