javascript - Nodejs - 将基于 Promise 的架构与事件混合在一起是错误的

标签 javascript node.js events architecture

我正在开发一个会变得更大的 Nodejs 应用程序。我没有找到很多关于高级 Nodejs 项目架构和结构的资源。 我想知道在 NodeJS 中将 Promise 范式与事件混合起来是否是一种反模式。

如果有人拥有有关高级项目架构或开源大型 Nodejs 项目的资源,那对我确实有帮助。

致以诚挚的问候。

最佳答案

混合使用 Promise 和回调并没有错。有时这是必要的,特别是当库或现有代码只有其中之一时。回调和 Promise 只是处理 NodeJS 异步特性的方法,因此请注意控制程序流程。

其他一些想法:

  • 我发现在回调函数内部使用 Promise 更容易,因为您可以使用 Promise 解析来确定何时以及如何调用回调

  • 如果可能的话,promisify如果可以的话,你的回调(甚至其他回调库)!这可能是我个人的偏好,因为我更喜欢 promise 。有些库甚至允许您从 Promise 转到回调,但我还没有这样做。

  • ES6 的 async/await 内容再次改变了一切!因此,请尽可能或根据需要不断适应。

  • 回调或 Promise 没有任何问题。没有错误的选择,可以混合,只要记住控制流程。

关于javascript - Nodejs - 将基于 Promise 的架构与事件混合在一起是错误的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43666815/

相关文章:

javascript - 动态生成的数据网格控件删除链接中不会调用经典 ASP.NET 删除事件

javascript - 如何使用 nodeJS 从 JSON 对象中删除项目?

wpf - 捕获 WPF 运行时 BindingExpression 错误

javascript - Websocket 连接被拒绝。与 'ws://127.0.0.1:2000/' 的 WebSocket 连接失败:连接建立时出错:net::ERR_CONNECTION_REFUSED

javascript - 将任意参数传递给 Handlebars 助手?

node.js - Node js docker 远程调试 chrome

node.js - 在 NodeJs 中使用 mocha 进行模拟

javascript - jQuery 绑定(bind) ajax load() 事件

java - 在 setOnAction 事件中调用方法并评估命令

javascript - 如何: Refresh AngularJS Route