我在互联网上查看,但是在执行内部代码后,我无法找到重置_.after计数器的方法。在此示例中,我的预期功能意味着只有每按一次按钮就会显示警告框:
var cb;
cb = _.after(4, function() {
alert(':)');
});
$('button').on('click', cb);
答案 0 :(得分:2)
您无法重置甚至看到计数器,因为计数器是私人的:
来自:http://underscorejs.org/docs/underscore.html#section-87
_.after = function(times, func) {
return function() {
if (--times < 1) {
return func.apply(this, arguments);
}
};
};
说,你可以看到那里的代码不多,所以将其调整为每次运行都很容易:
_.onceEvery= function(times, func) {
var orig = times;
return function() {
if (--times < 1) {
times=orig;
return func.apply(this, arguments);
}
};
};