我正在努力提高使用大量mongooose的biggish nodejs应用程序的可读性。问题是,在很多依赖查询的情况下,回调都会失控。
处理此问题的做法是什么?
答案 0 :(得分:2)
您的问题有三种常见的解决方案。
第一个是async.js lib。
第二个是使用Promises。 node.js中有多个promises实现。我知道三个实现:
第三个是使用Fibers。有fibers promise库为您完成所有棘手的工作。
之前有很多类似的问题。例如,check this one。
所有这些库都做同样的事情 - 它们使node.js异步代码非常可读。所以,只需选择一个看起来更简单的。
至于我,我更喜欢async.js
lib。
更新: mongoose.js
有自己的内置承诺 - mpromise。您可以mongoose.promise
访问它。但是,只要您在exec()
中的查询上调用mongoose
函数,它就会返回一个承诺。除了mongoose.js
之外,我从未真正使用REPL
承诺,但您可以尝试一下。