最初にコンテキストを設定します。私はサーバが起動時に(インスタンスのデータベースの一種)インスタンス化されるオブジェクトのクエリ1のために使用しているgraphqlサーバを実行しています。ここで会社のオブジェクトは、スキーマがロードされるたびに作成されます。または、サーバーが開始され、解決するためにQueryTypeオブジェクトで使用しています。ここでgraphQLリレー呼び出しのクエリに問題があります。[.thenは関数ではありません]
は、私がgraphiQLエディタ
query{
company{
customFieldDefinitions {
edges {
node {
id
}
}
}
}
}
に以下のようにクエリを実行しようとすると、今、私は以下のようにエラーが発生しますgraphQLスキーマ
const {
GraphQLSchema,
GraphQLObjectType,
GraphQLString,
GraphQLInt,
GraphQLList
} = require('graphql');
const {
connectionDefinitions,
connectionArgs,
connectionFromArray,
connectionFromPromisedArray
} = require('graphql-relay');
//**************************** In-Memory Data ********************************//
var company = {
id:'123456',
customFieldDefinitions:[
{
name: 'cfm1',
id: '123'
},
{
name: 'cfm2',
id: '1234'
}
]
};
//**************************** In-Memory Code Ends *********************************//
const CustomFieldDefinitionType = new GraphQLObjectType({
name: 'Common_CustomFieldDefinitionsConnection',
fields: {
id: {
type: GraphQLString,
resolve: (cfd) => cfd.id
},
name: {
type: GraphQLString,
resolve: (cfd) => cfd.name
}
}
});
const { connectionType: CustomFieldDefinitionConnection } =
connectionDefinitions({
name: 'Common_CustomFieldDefinition',
nodeType: CustomFieldDefinitionType
});
const CompanyType = new GraphQLObjectType({
name: 'Company',
fields: {
id: {
type: GraphQLString,
resolve: (obj) => obj.id
},
customFieldDefinitions: {
type: CustomFieldDefinitionConnection,
description: 'A list of Custom Fields',
args: connectionArgs,
resolve: (obj, args) => connectionFromPromisedArray(obj.customFieldDefinitions, args)
}
}
});
const QueryType = new GraphQLObjectType({
name: 'Query',
fields: {
company: {
args: {
id: { type: GraphQLString },
},
type: CompanyType,
resolve: (_, args) => company
}
}
});
const mySchema = new GraphQLSchema({
query: QueryType
});
module.exports = mySchema;
です。
{
"data": {
"company": {
"customFieldDefinitions": null
}
},
"errors": [
{
"message": "dataPromise.then is not a function",
"locations": [
{
"line": 3,
"column": 5
}
],
"path": [
"company",
"customFieldDefinitions"
]
}
]
}
誰かが問題の特定に役立つことがありますか?それは、エラーのように見えます
おかげトン。それは問題だった – Gautam
助けて嬉しいです!運が良かった。 – mparis