实现嵌套处理程序的简洁方法是什么?

时间:2018-07-01 17:32:10

标签: node.js bluebird

生动描述由方法getResource返回的典型资源,该方法具有处置器,您可以这样使用:

Promise.using(
  getResource(),
  resource =>
    doStuffWith(resource))
  .then(
    // "resource" is cleaned up by now
  )

现在想象另一个方法wrapResource,该方法将资源作为参数并以某种方式(可能添加其自己的初始化/拆卸步骤)对其进行了修饰(可能带有其自身的处理程序)。您可以使用这样的方法:

Promise.using(
  getResource(),
  baseResource =>
    Promise.using(
      wrapResource(baseResource),
      resource =>
    doStuffWith(resource)))

我的问题是,是否有一种方法可以更简洁地抽象出该资源的包装,您可以这样使用:

Promise.using(
  getWrappedResource(),
  resource =>
    doStuffWith(resource))

换句话说-一个人如何实现getWrappedResource

0 个答案:

没有答案