Написал тут функцию.
/*
function loop(function () {
return false; // to exit
}, 10[, cbArg1[, cbArg2]]);
var counter = 0;
loop(function () {
console.log(counter++);
return counter < 10;
}, 300); // prints 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 and stop
*/
function loop(cb, period, _args) {
var arg = Array.prototype.slice.call(arguments, 2);
var interval = setInterval(function () {
if (cb.apply(null, arg) === false) clearInterval(interval);
} , period);
}
Как назвать? С именованием у меня огромные проблемы. И как бы ее профессионалы переписали? |
function clearIntervals() {
var i = setInterval(function () {});
while (i) clearInterval(i--);
}
и еще только что родил |
1. Не пиши несколько постов подряд. Дополняй предыдущий.
2. Хватит капитанить. Подобная хрень пишется сотнями каждый день на ходу. |
(function (win) {
var intervals = [];
var _setInterval = setInterval;
var _clearInterval = clearInterval;
win.setInterval = function () {
var id = _setInterval.apply(win, arguments);
intervals.push(id);
return id;
};
win.clearInterval = function (id) {
_clearInterval.call(win, id);
delete intervals[intervals.indexOf(id)];
};
win.getIntervals = function () {
return Array.prototype.slice.call(intervals);
};
win.clearIntervals = function () {
for (var i = 0; i < intervals.length; ++i) {
clearInterval(intervals[i]);
}
intervals = [];
}
})(window);
|
| Часовой пояс GMT +3, время: 05:58. |