【发布时间】:2016-09-24 03:02:59
【问题描述】:
我在使用 rethinkdb 查询解析我的 graphQL 字段时遇到问题。我感觉这与 javascript 范围有关,但我几乎尝试了所有组合。这就是我目前所拥有的。
var connection = null;
r.connect({host: 'localhost', port: 28015 }, function(err, conn){
if(err) throw err;
connection = conn;
});
var queryType = new GraphQLObjectType({
name: 'Query',
fields: () => ({
node: nodeField,
viewer: {
type: GraphQLString,
resolve: () => ( r.db("test")
.table("authors")
.get("f433f6f6-f843-4636-a1d3-eb34b89aec67")
.getField("name")
),
},
}),
});
【问题讨论】:
-
resolve函数应该在异步操作的情况下返回一个承诺。您还可以在解析函数中使用 async-await。 -
对此有何解决方案?准备好使用 rethinkdb / graphql 走类似的道路。
-
问题是db请求结束时缺少
run(conn)函数。
标签: rethinkdb graphql graphql-js