get
está recibiendo dos parámetros: una URL y un callback.get
recibe la respuesta del servidor invoca el callback y se imprime el resultado en la consola.then
recibe dos parámetros: un callback de éxito y otro cuando ocurre un error. Sin embargo, las promesas también tienen un método catch
que se puede utilizar para manejar el error que se produzca en cualquier then
:db.find
, file.read
y file.save
retornan una promesa (de lo contrario la cadena se quiebra). Pero supongamos que db.find
no retorna una promesa, sólo acepta un callback, en ese caso nos tocaría crear una promesa.Promise
, que recibe un callback con dos parámetros:wait
que envuelva setTimeout
(que no soporta promesas) en una promesa y la devuelva:db.find
no soporta promesas, igual podemos envolverlo en una promesa:resolve
para pasar el resultado a la siguiente promesa. Esto es un patrón muy común en desarrollo con JavaScript hoy en día.then
no devuelves una promesa, la cadena se rompe y encontrar ese tipo de errores es difícil.