当前位置: 首页 > 知识库问答 >
问题:

如何在promise中正确实现mongodb Async/Await?

冯元徽
2023-03-14

我读到过,在promise中包含异步是async/await的反模式。下面的代码可以工作,但是我想知道如果没有promise中的Async,如何实现相同的结果。

export const getEmployees = (companyId) => {
  return new Promise(async (resolve, reject) => {
    const employees = await Employees.find(
      { companyId },
    );

    // other logic here...

    resolve({
      employees,
    });
  });

谢了。

共有1个答案

任伟
2023-03-14

异步函数自动返回promises,它使用最终是returned的表达式进行解析。只需使getemployeese成为Async函数:

export const getEmployees = async (companyId) => {
  const employees = await Employees.find(
    { companyId },
  );

  // other logic here...

  return { employees };
};

(但是确保在getemployeese的使用者中catch,以防出现错误)

 类似资料:
  • 我正在寻找关于如何以及何时实现dispose模式的建议。 我已经阅读了MSDN关于如何实现dispose()模式的文章。说得通。我在我的类中实现了它,但它似乎对内存使用没有什么影响。 有点背景,我正在建立一个2D自顶向下的游戏引擎。我有一个名为Gatherer的单元,它继承自Actor(一个用于绘制sprite和跟踪viewplane的基本类),它们是一些简单的sprite。它们在5轮比赛后消失。

  • 我需要使用runOnUiThread来更新UI中的TextView,同时在从WebService获取一些字符串的工作线程中更新TextView。我看了一些其他的帖子,并试图实现提供的解决方案,但当我启动我的应用程序,它崩溃。我不太熟悉这个方法,所以我需要一些方向,如何解决这个问题。

  • 问题内容: 我正在使用python-spidermonkey,它在内部使用PyMapping_Check来识别用作全局对象(在rt.new_context(global)中)是否实现了映射协议。(这基本上是传递给python- spidermonkey的字典,因此javascript对python变量的访问受到限制。) 我无法在Python中找到映射协议的正式定义,因此我一直在尝试和尝试确定其中的

  • 我有一个android应用程序,我正在尝试在其中实现linkedIn登录。LinkedIn SDK已经成功集成,我正在获取用户信息以及电子邮件地址。 以下是我的应用程序在谷歌登录时的工作方式: 1)在手机上获取访问令牌 2)发送带有访问令牌的电子邮件地址到服务器 3) 用我通过谷歌的webapi收到的访问令牌获取用户的详细信息。 4) 如果回复电子邮件与从移动设备接收的电子邮件匹配,则检查该电子邮

  • 我想更好地理解webpack中如何实现promise之间的区别。通常情况下,由于我主要开发应用程序,幸灾乐祸的无知足以应付,但我对如何正确地开发一个插件/工具/库显然有点困惑。 js-使用babel-polyfill作为入口点 问:在这种方法中,因为它是一种聚填料,所以它改变了全球前景? 使用提供插件的webpack配置填充 问:这是否意味着Promise是一个只特定于webpack捆绑过程的模块