Hay dos tipos de datos para usar promise si se encuentran:
cardterminal . a) Si no se encuentra card , ejecute:
response.status(293); response.end(); a) Si no se encuentra terminal , ejecute:
response.status(292); response.end(); getCard(cardID) .then((card: Card) => { getTerminal(terminalID) .then((terminal: Terminal) => { // do smth }) .catch((e) => { console.log(e); // log works fine response.status(292); // terminal does not exist }); }) .catch((e) => { console.log(e); response.status(293); // card doesn't exist }) .finally(() => { response.end(); // close connection }); El servidor devuelve el estado 200 en todos los casos excepto 293 , el primer catch() , que es el único que se ejecuta como se esperaba. Supongo que deberían ser promesas secuenciales, no basadas en padres e hijos. ¿Cómo logramos eso?