Función de llamada recursiva a intervalos regulares
¿Entonces me preguntaba cuál es una mejor manera (en términos de crecimiento de pila y rendimiento) para llamar recursivamente una función a intervalos regulares? Por ejemplo, digamos que quiero leer el contenido del archivo cada 200 ms. Tengo los siguientes dos métodos y me preguntaba si son diferentes.
Método 1: uso de los elementos sin formato setTimeout sin 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);
})();
Método 2: Llamar a process.nextTick en 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);
})();
Lo que quiero saber es que agregar process.nextTick dentro de setTimeout ayuda o no? ¿Llamar a la función dentro de process.nextTick aliviará el uso de la pila o no?