Вызов функции рекурсивно с регулярными интервалами
Поэтому мне было интересно, как лучше (с точки зрения роста стека и производительности) рекурсивно вызывать функцию через регулярные промежутки времени? Например, допустим, я хочу читать содержимое файла каждые 200 мс. У меня есть следующие два метода, и мне было интересно, если они отличаются?
Способ 1: использование обычного ols setTimeout без process.nextTick
var fs = require('fs');
(function loop() {
// Print to time to indicate something is happening
console.log(new Date().toString());
// Read a 51MB file
fs.readFile('./testfile', function (err, data) {
if (err) console.log(err);
});
// Call the same function again
setTimeout(function () {
loop();
}, 200);
})();
Способ 2: вызов process.nextTick внутри setTimeout
var fs = require('fs');
(function loop() {
// Print to time to indicate something is happening
console.log(new Date().toString());
// Read a 51MB file
fs.readFile('./testfile', function (err, data) {
if (err) console.log(err);
});
// Call the same function again
setTimeout(function () {
process.nextTick(function () {
loop();
});
}, 200);
})();
Что я хочу знать, так это то, что добавление process.nextTick внутри setTimeout помогает или нет? Будет ли вызов функции внутри process.nextTick облегчать использование стека или нет?