如何在节点后端中正确使用异步数据库操作

时间:2018-08-09 13:26:21

标签: node.js mongodb asynchronous mongoose

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

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

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

1。

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

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

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

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

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

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

2。

使它具有承诺或回调链,但是代码的可读性会很差。

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

1 个答案:

答案 0 :(得分:0)

异步/等待基本上是诺言链的语法糖,因此它没有做任何不同的事情。所以在后端就可以了。