gpt4 book ai didi

javascript - 如何从 Graphql 解析函数中的回调返回值?

转载 作者:行者123 更新时间:2023-11-29 23:45:34 24 4
gpt4 key购买 nike

如何从回调函数返回值并将其传递给 Graphql 中的解析函数?

这是展示概念的虚拟代码:

此函数运行 sql 查询:

function runQuery(query, cb){
....
var value = "Something";
cb(null, value);
}

这从回调函数中获取值并将其传递给 graphql 中的 resolve 函数:

function getTitle() {
return runQuery("...", function(err, value){
return value;
});
}

Graphql 架构:

var SampleType = new GraphQLObjectType({
name: 'Sample',
fields: () => ({
title: { type: GraphQLString },
}),
});


query: new GraphQLObjectType({
name: 'Query',
fields: () => ({
sample: {
type: SampleType,
resolve: () => getTitle(),
},
}),
}),

最佳答案

您可以使用 promises 和 async 来完成此操作。

async function getTitle() {
const queryResult = await runQuery("...");

// ...
// Do post-query stuff here that you currently have in your callback
// ...

return queryResult
}

async function runQuery() {
const value = 'something';
// ...
return value;
}

节点fully supports async/await as of 7.10.0 .如果您在浏览器中或被锁定在较低版本的节点中,请使用 TypeScript 或 Babel。

关于javascript - 如何从 Graphql 解析函数中的回调返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44294021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com