异步等待不按预期等待

时间:2017-08-04 02:00:16

标签: javascript node.js asynchronous

我发誓我有这个工作,然后改变了一些东西,并不能得到它。 我有一个快速控制器,有这段代码:

router.post('/', (req, res, next) => {
  myModule.organizationLookup(req.body.domain).then((data) => {
    res.status(200).send(data);
  })
});

然后我的问题代码:myModule.js看起来像这样:

myModule.organizationLookup = (domain) => {
  async function getOrganization(domain) {
    try {
      return await thirdpartySDK.Company.find({domain: domain});
    }
    catch (err) {
      console.log(err)
    }
  }
  getOrganization(domain);
};

它总是在控制器中抛出错误: TypeError: Cannot read property 'then' of undefined

1 个答案:

答案 0 :(得分:1)

你有一个多余的功能,你的结果不是return。只需删除该功能并写入

即可
myModule.organizationLookup = async function getOrganization(domain) {
  try {
    return await thirdpartySDK.Company.find({domain: domain});
  } catch (err) {
    console.log(err)
  }
};