Soy un nuevo desarrollador de nodejs, y creo que entiendo los diseños de nodejs.¿Por qué alguna biblioteca síncrona en nodejs se adhiere a la devolución de llamada?
Entiendo que alguna biblioteca relacionada con syscall debe ser asincrónica. Estos trabajos se pondrán en cola y se procesarán en un grupo de subprocesos diferente, y se notificarán mediante una devolución de llamada cuando finalice.
Sin embargo, no puedo entender por qué algunas bibliotecas no relacionadas con syscall están utilizando la devolución de llamada como método de comunicación. Por ejemplo, la biblioteca xml2js está escrita en Javascript, y aparentemente, no hay ninguna razón para que esta función parse devuelva el estado a través de la devolución de llamada. Puede devolver el resultado del procesamiento directamente, y se aumentará la legibilidad del código.
Mi pregunta es, ¿hay algún motivo por el que algunos diseñadores de bibliotecas nodej se adhieren a la comunicación basada en devolución de llamada en lugar de simplemente usar el valor devuelto?
Consulte esto en relación con el problema xml2js https://github.com/Leonidas-from-XIV/node-xml2js/issues/47 – setec