У меня возникли проблемы с пониманием этой ошибки. У меня есть функция с именем getDeliveryDate (), которая вызывается из конечной точки. Эта функция кажется не асинхронной, но я получаю необработанное обещание:
// Deadlines increments are in minutes
function getDeliveryDate(
inputDate,
normalDeadline,
fastDeadline,
fastDelivery
) {
var deliveryDate = new Date();
try {
!fastDelivery
? deliveryDate.setTime(inputDate + normalDeadline * 60 * 1000)
: deliveryDate.setTime(inputDate + fastDeadline * 60 * 1000);
return deliveryDate;
} catch (error) {
console.log("getDeliveryDate error:".error, error);// <-- this line is okey, I am using colors library
}
И это где вызов getDeliveryDate
...
try {
blockFields.finishDate = getDeliveryDate( // <-- the call
Date.now(),
req.body.blockOptions.deadline,
req.body.blockOptions.fastDeadline,
req.body.blockOptions.fastDelivery
);
} catch (error) {
console.log("getDeliveryDate error".error, error); // <-- this line is okey, I am using colors library
}
...
Чего мне не хватает? Является ли getDeliveryDate асинхронной функцией? Как я могу правильно обработать его ошибки?
UPDATE
Я использовал переменную, которую позже изменил, поэтому больше не существовал. После исправления ошибки я все еще не уверен, как отловить ошибку для этой функции.
Теперь все работает, но если я ввожу неправильную переменную, я все равно не улавливаю ошибку и не получаю эту ошибку (то есть, если я ввожу неправильное значение finishDate):
(узел: 50620) UnhandledPromiseRejectionWarning: ValidationError: сбой проверки блоков: finishDate: сбой приведения к дате для значения «Неверная дата» в пути «finishDate»
Почему мой улов (ошибка) не работает?