Estaba aprendiendo sobre process.nextTick y jugando con él. Tengo una pequeña duda con respecto a eso en sí. El primer argumento de process.nextTick es una función de devolución de llamada, ¿cuál es el segundo o tercer argumento? Considere el siguiente código: Este es un error de impresión en la consola pero no imprime el valor de console.log de "Primera línea" -
function promise(value, cb) { if (typeof value !== 'string') { return cb(new TypeError('Value should be string')); } cb(null, Promise.resolve('Hello')); } promise(1, (err, success) => { if (err) throw err; success.then((res) => console.log(res)); }); console.log('First line');Traté de corregirlo usando el siguiente código usando process.nextTick e imprime la consola "Primera línea" en la terminal y luego el error, que está bien, es comprensible, pero tuve que pasar la función de devolución de llamada y el error a process.nextTick. ¿Así es como funciona? ¿Puede alguien dar una mejor explicación sobre eso? Estoy hablando de la sintaxis y la cantidad de argumentos de process.nextTick aquí, para ser específicos:
function promise(value, cb) { if (typeof value !== 'string') { return process.nextTick(cb, new TypeError('Value should be string')); } cb(null, Promise.resolve('Hello')); } promise(1, (err, success) => { if (err) throw err; success.then((res) => console.log(res)); }); console.log('First line');Docs es bastante claro:
proceso.nextTick(devolución de llamada[, ... argumentos])
devolución de llamada <Función>
...args <cualquiera> Argumentos adicionales para pasar al invocar la devolución de llamada
Así es como funciona el método, se necesita una devolución de llamada y argumentos opcionales para pasar a la devolución de llamada cuando se invoca.
https://nodejs.org/api/process.html#processnexttickcallback-args