2017-08-13 13 views
0

私はGraphIQL(注:グラフI QL)でこのクエリを持っています。それは私に、 "コネクタ" に関するエラーメッセージを与えている:Apolloエラー:「コネクタは関数またはクラスでなければならない」

query ($userID: String!) { 
    getUserData(id: $userID) { 
    name_first 
    name_last 
    picture_thumbnail 
    id 
} 
} 

//query variables: 
{ 
    "userID": "DsmkoaYPeAumREsqC" 
} 

GraphIQLは、この応答を返している:

{ 
    "data": { 
    "getUserData": null 
    }, 
    "errors": [ 
    { 
     "message": "Connector must be a function or an class", 
     "locations": [ 
     { 
      "line": 2, 
      "column": 3 
     } 
     ], 
     "path": [ 
     "getUserData" 
     ] 
    } 
    ] 
} 

は、ここに私のリゾルバません:

getUserData(_, args) { 
    debugger; <== NEVER ACTIVATES 
    return Promise.resolve() 
     .then(() => { 
      console.log('In getUserData'); 
      var Users = connectors.UserData.findAll({where: args}).then((Users) => Users.map((item) => item.dataValues)); 
      return Users; 
     }) 
     .then(Users => { 
      return Users; 
     }) 
     .catch((err)=> { 
      console.log(err); 
     }); 
}, 

リゾルバでdebuggerブレークポイントは決して活性化する。

「GraphIQL」が「コネクタ」によって何を意味するのかはまだ分かりません。何を変更する必要がありますか?

答えて

0

修正済み!その後、私はそうのようなリゾルバでそれを取得することができ

server.use('/graphql', bodyParser.json(), graphqlExpress({ 
    schema, 
    context: { 
     connectors: connectors 
    } 
})); 

::私はmakeExecutableSchemaに私の呼び出しからconnectorsへの参照を削除し、にしてそれを追加しなければならなかったの@marcusnielsenする

getUserData: (root, args, context) => { 
    return Promise.resolve() 
     .then(() => { 
      var Users = context.connectors.UserData.findAll({where: args}).then((Users) => Users.map((item) => item.dataValues)); 
      return Users; 
     }) 
     .then(Users => { 
      return Users; 
     }) 
     .catch((err)=> { 
      console.log(err); 
     }); 
}, 

感謝私がこれを見つけるのを助けた先端のためのアポロ・スラック!

関連する問題