dojo / on有一次()非常有用。如何在dojo / aspect的before()/ after()中实现这种行为?我无法相信有人实现了一次()到dojo / on而不是dojo / aspect。我没有看到任何区别。
答案 0 :(得分:3)
保存之前/之后的回报并在其上调用remove
是如此困难吗?这是一个简单的实现:
aspect.onceAfter: function(target, methodName, advice, receiveArguments){
var handle = aspect.after(target, methodName, function(){
handle.remove();
advice.apply(null, arguments);
}, receiveArguments);
}