【问题标题】:how to properly use async database operations in node backend如何在节点后端正确使用异步数据库操作
【发布时间】:2019-01-16 23:52:54
【问题描述】:

假设我们的数据库 (mongoDB) 中有一个名为 User 的模型,其中有一个属性 email

现在我们要创建一个createUser 函数来检查电子邮件是否有效,以及我们的数据库中是否已经没有使用该电子邮件的用户。

我们可以这样写: (使用猫鼬)

1.

使createUser函数与async异步,然后等待数据库的结果

const result = await User.find({email: email})

在此之后,我们可以进行正常的同步验证,例如

const isValid = email === "test@test.com'

然后执行User.create(...)

但是在执行任何代码之前它必须等待结果,对吗? (对于后端来说不是一个好主意)

2.

让它成为一个承诺或回调链,但代码可读性会很差。

如果我们想创建一个不错的非阻塞后端,在这种情况下有什么好的选择?

【问题讨论】:

    标签: node.js mongodb asynchronous mongoose


    【解决方案1】:

    async/await 基本上是 Promise 链的语法糖,所以它没有做任何不同的事情。所以后端没问题。

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      • 2018-05-17
      • 2015-03-08
      • 1970-01-01
      相关资源
      最近更新 更多