我正在创建一个自定义 JS 对象。这个对象执行一些action. 我希望能够通知消费者action将要执行并且 action已经执行的对象(通过触发自定义事件)。(这种行为模型在控件具有onBeforeAction和onAfterAction事件的 ASP.NET 中是已知的)。
棘手的部分是我希望消费者能够停止/中断事件序列。
这是所需行为的算法(在 Human# 中):
this.trigger('onBeforeAction');
如果(!onBeforeAction.wasCanceled){
this.doAction();
this.trigger('onAfterAction');
}
在我的对象中拥有此功能将允许消费者执行以下操作:
$(myIntance).bind('onBeforeAction', function(){
if (!someCondition.satisfied)
返回假;
返回真;
});
$(myIntance).bind('onAfterAction', function(){
// 在这里响应动作
});
关于如何实现“可控”事件序列的任何想法都会很棒。
提前致谢。
// R