Моя proccess
функция ожидания не ждет конца preProccess
:
У меня есть класс маршрута, который вызывает контроллер
exports.Controller = async function (req, res) {
let callbackPreProccess = await Implementation.preProccess(payload, resolve);
let callbackProccess = await Implementation.proccess(callbackPreProccess, resolve);
res.status(200).json(callbackProccess);
//
export class Implementation{
preProccess(payload: any, resolve: string): Promise<any> {
return new Promise(async (resolve, reject) => {
try {
if (payload.test == true){
logger.info('preProccess OK');
}
//preProccess connect to the DB and get some informations,
//enrich the payload and return
logger.info('preProccess DB access OK');
resolve(payload);
}
catch(error){
throw new Error("Manual Error");
reject(error);
}
};
proccess(payload: any, resolve: string): Promise<any> {
return new Promise(async (resolve, reject) => {
try {
logger.info('proccess OK');
resolve(true);
}
catch(error){
reject(error);
}
};
}
Как все функции ожиданияя ожидаю:
info&& 'preProccess OK'
info&& 'preProccess DB access OK'
info&& 'proccess OK'
Но вернитесь ко мне:
info&& 'preProccess OK'
info&& 'proccess OK'
info&& 'preProccess DB access OK'
Даже когда я выдуваю ошибку throw, ожидая, что не запускается процесс, они запускают
info&& 'preProccess OK'
info&& 'proccess OK'
error&& 'Manual error'
Но когда я использую контроллер .then
на proccess
, ожидая вручную preProccess
, он работает очень хорошо.