Nodejs – 将基于Promise的架构与事件混合是错误的

我正在研究将会变得更大的nodejs应用程序。 对于高级Nodejs项目体系结构和结构,我找不到很多资源。 我想知道是否是一个反模式,在NodeJS中混合承诺的范例和事件。

如果有人拥有先进的项目架构或开源的大型Nodejs项目的资源,它可以真正帮助我。

最好的祝福。

将Promise和callback混合是没有错的。 有时候这是必要的,特别是如果一个图书馆或现有的代码只有一个或另一个。 callback和承诺只是处理NodeJSasynchronous性质的方法,所以只需要注意控制程序的stream程。

其他一些想法:

  • 我发现在callback函数中使用Promise更容易,因为您可以使用Promiseparsing来确定何时以及如何调用callback

  • 如果可能的话,如果可以的话, promisify你的callback(甚至其他callback库)! 这可能是我的个人偏好,因为我更喜欢承诺。 有些图书馆甚至允许你从Promises到callback,但是我没有这样做。

  • ES6的asynchronous/等待的东西改变了一切! 所以请尽可能保持适应性,或者根据需要进行调整。

  • callback或承诺没有任何错误。 没有错误的select,可以混合,只要保持控制stream。