结束/后处理链式方法
finalizing / post-processing chained methods
假设我有一个类似数组的对象,它允许像这样链接方法:
var ds = new DataSet(items);
var subset = ds.filter(condition1).filter(condition2);
是否有一种方法在链中的最后一个方法被处理后执行代码 -而无需手动追加单独的.finalize()
(或end
/execute
/…)方法调用?
我相信我以前在什么地方见过这个,但我不记得细节了。也许未来/承诺/延迟会在这里使用-但我真的不知道如何,因为我总是需要"展望未来"来确定方法调用是否是链中的最后一个。
如果您控制filter
方法,可能需要添加一个finalize参数?
.filter(condition,[some finalizer function]);
in filter
:
if (finalizer){
finalizer();
}
[基于注释编辑]
另一种方法是允许终结器条件,因此在.filter(condition)
中,condition
的内容定义了终结的需要。
类似于(我不知道你的情况,只是瞎编的):
if (condition.match('f=true')) {
finalizer();
}
相关文章:
- 多次调用方法后返回相同promise的模式
- Jqgrid在第一个下拉索引chnage方法后未重新加载
- AngularJs在调用服务方法后更新指令
- 有没有更好的方法来处理窗口属性&React/Redux中的子组件
- 如何在Angular方法中处理下面的jQuery
- 调用消费方法后,如何在分配回调时执行回调
- node.js-express.js API删除http后处理程序
- 使用.load方法后,请收听单击事件
- 如何在 jQuery DataTable 中对列值进行后处理
- 提交表单javascript后处理完整事件
- 动力学.js“对象没有方法批处理绘制”
- 多个花式框即使在调用关闭方法后也不会关闭
- 有没有更好的方法来处理这个对象
- 完成方法后通过 Ajax 的 Rails 闪光通知
- 对挖空.JS输入值进行后处理
- 有没有更好的方法来处理默认 true
- 如何使用JQuery's”;.on()"方法来处理非本机jquery元素
- Rails+Ajax:如何在点击一个元素后处理JS代码
- 如何处理使用填充方法后的结果
- 结束/后处理链式方法