en.javascript.info/1-js/06-advanced-functions/08-settimeout-setinterval/1-output-numbers-100ms/solution.md
Ilya Kantor 97c8f22bbb up
2017-03-21 17:14:05 +03:00

42 lines
720 B
Markdown

Using `setInterval`:
```js run
function printNumbers(from, to) {
let current = from;
let timerId = setInterval(function() {
alert(current);
if (current == to) {
clearInterval(timerId);
}
current++;
}, 1000);
}
// usage:
printNumbers(5, 10);
```
Using recursive `setTimeout`:
```js run
function printNumbers(from, to) {
let current = from;
setTimeout(function go() {
alert(current);
if (current < to) {
setTimeout(go, 1000);
}
current++;
}, 1000);
}
// usage:
printNumbers(5, 10);
```
Note that in both solutions, there is an initial delay before the first output. Sometimes we need to add a line to make the first output immediately, that's easy to do.