JavaScript - сообщение setInterval, чтобы только запустить x сумму времен?

Действительно ли возможно ограничить сумму времен, которые setInterval запустит в JavaScript?

58
задан 2 June 2010 в 14:52

2 ответа

Я сделал небольшой пакет, который делает это для NodeJS.

https://www.npmjs.com/package/count-interval

Это - общедоступная замена для setInterval (включая передачу параметров), но он берет еще count параметр. Этот пример печатает сообщение один раз во второй, но только 3 раза.

const countInterval = require('./countInterval');

const timer = countInterval(() => {
   console.log('fired!', new Date());
}, 1000, 3);
0
ответ дан 1 November 2019 в 13:27

И для тех Вы предпочитающий setTimeout и любящий рекурсию вот являетесь моим предложением ;)

const setIntervalX = (fn, delay, times) => {
  if(!times) return

  setTimeout(() => {
    fn() 
    setIntervalX(fn, delay, times-1)
  }, delay)
}

Затем, как предложено можно назвать новое setInvervalX() функция следующим образом:

// This will be repeated every for 5 times with 1 second intervals:
setIntervalX(function () {
    // Your logic here
}, 1000, 5);
0
ответ дан 1 November 2019 в 13:27

Другие вопросы по тегам:

Похожие вопросы: