使用 Node.js 回调的不太明显的时间

Less Obvious Times to Use Node.js Callbacks

我了解回调,并且您希望使用它来使计时器或冗长的计算或数据库查询等功能异步。哪些不太明显 times/tasks/situations 您想要使用回调?你能举出任何现实世界的例子吗,最好是 you/your 团队亲身经历过的例子?我的这个思考过程是不是错了?

回调经常与数组一起使用(如果您使用 lodash or underscore.js 之类的对象,则回调)。通常,它们在函数式编程中也经常使用。

它们不一定只用于异步执行。回调传递给的函数可能 return 同步,在这种情况下,回调模式一定是出于其他原因使用的。例如:

  • 允许函数应用于多组数据,例如数组
  • 当无法在函数范围外访问需要传递给回调的值时

还有其他方法可以实现异步执行,比如promise模式(这里调用的函数return是一个可以注册回调的对象,而不是将回调直接传递给它),它内置于 ES6 中。已提议将 await / async 函数引入 ES7 规范。如果您使用转译器,今天就可以使用这些功能。