Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用承诺的GraphQL解析_Javascript_Node.js_Graphql - Fatal编程技术网

Javascript 使用承诺的GraphQL解析

Javascript 使用承诺的GraphQL解析,javascript,node.js,graphql,Javascript,Node.js,Graphql,我是JavaScript和NodeJS领域的新手。我在Java和C方面都有很多经验,但这对我来说都是全新的 作为一名POC,我正在尝试用GraphQL包装salesforce通话。由于对salesforce的调用是异步的,因此在定义模式和基础查询之间的绑定时,我希望返回对GraphQL的承诺 然而,当我这样做时,我得到了消息Expected Iterable,但没有为field Query.getAccounts找到一个 这是我绝对糟糕的代码: conn.login('username', 'p

我是JavaScript和NodeJS领域的新手。我在Java和C方面都有很多经验,但这对我来说都是全新的

作为一名POC,我正在尝试用GraphQL包装salesforce通话。由于对salesforce的调用是异步的,因此在定义模式和基础查询之间的绑定时,我希望返回对GraphQL的承诺

然而,当我这样做时,我得到了消息Expected Iterable,但没有为field Query.getAccounts找到一个

这是我绝对糟糕的代码:

conn.login('username', 'password' + 'security-token', function(err, userInfo) {
  if (err) {
    console.log(err);
    console.log("Cannot login to Salesforce");
  } else {
    var root = {
      getAccounts: function ({offset, limit}) {
        return new Promise(function(resolve, reject) {
          conn.query("SELECT Id, Name FROM Account", function(err, result) {
            if (err) {
              reject();
            }
            resolve(result);
          });
        });
      }
    }


    var app = express();
    app.use('/graphql', graphqlHTTP({
      schema: schema,
      rootValue: root,
      graphiql: true,
    }));
    app.listen(4000);
    console.log('Running a GraphQL API server at localhost:4000/graphql');
  }
});

我应该使用Apollo吗?

这里的问题是Salesforce的回复不是列表格式。因此,我不得不再次承诺,从回复中提取我关心的实际数据

基本上,这是来自GraphQL的误导性信息