【发布时间】:2020-10-16 10:26:46
【问题描述】:
我有点困惑我将如何解决我的问题以及最佳做法是什么。
在我的节点服务器上,我有这个帖子功能:
router.post('/addUser', (req, res, next) => {
const newUser = new User({
userName: req.body.userName
userPicture: req.body.profilePicture
personLookALike: -> functionThatReturnsAObjectAsynchronously() <-
...
})
}
问题是,我想保存帖子,所以我通常稍后会在代码中使用:
newUser.save()
但 newUser.save() 在对象完全完成之前首先执行(“personLookAlike”属性丢失)
我知道我可以用一个承诺来包装这一切,然后将保存过程放在 then() 块中,但我在对象创建中有更多这些异步函数。
我的方法的最佳做法是什么? 谢谢!
【问题讨论】:
-
如果你有多个,请在一个链中使用多个
then调用 :-) 一旦了解了它们的工作原理,切换到async/await。
标签: javascript node.js object asynchronous promise