11

タイプがルート フィールド定義で自身を参照するため、これは機能しません。

  var routeType = new GraphQLObjectType({
  name: 'MessageRoute',
  fields: {
    name: {
      type: GraphQLString
    },
    routes: {
      type: new GraphQLList(routeType),
      resolve: (route) => {
        return route.routes;
      }
    }
  }
});

どうすればいいですか?

4

2 に答える 2

3

Javascript getterを使用して、オブジェクト内の任意のプロパティに関数を使用できることを指摘したいと思います。

したがって、プロパティ全体を関数内にラップする代わりに、次のようにプロパティfieldsだけに関数を使用できます。type

var routeType = new GraphQLObjectType({
  name: 'MessageRoute',
  fields: {
    name: {
      type: GraphQLString
    },
    routes: {
      get type() {
         return new GraphQLList(routeType)
      },
      resolve: (route) => {
        return route.routes;
      }
    }
  }
});
于 2017-01-22T19:36:39.203 に答える