在函数之外返回值

时间:2016-05-03 17:55:34

标签: javascript node.js docker graphql graphql-js

我正在寻找使用graphQL查询docker机器api并获取react docker管理风格项目的容器列表。我正在使用dockerode和NPM模块来发出请求。第一个函数getCOntainerById是我通常从rethinkdb返回一些项目的方式。

我似乎无法弄清楚如何在docker.listContainers函数中返回容器数组,因为它只在范围内定义,并且在fetchContainers函数返回结束时未定义。

array[position] instanceof

非常感谢帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

async resolve(source, {id}, {rootValue}) {
  isLoggedIn(rootValue);
  const containers = await new Promise((resolve, reject) => {
    docker.listContainers((err, containers) => {
      if (err) reject(err);
      resolve(containers);
    });
  })

  if (!containers) {
    throw errorObj({_error: 'Container not found'});
  }

  return containers
}