生动描述由方法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
?