Я использую обещания заставить NodeJS прекратить работу, если определенные функции не выполняются по мере необходимости. На данный момент сервер останавливается по мере необходимости, но я также хотел бы включить консольный журнал, если функции успешно выполнили свои обещания. Я использую модуль qpm 'q'.Как вы исполняете, только если обещание было выполнено?
Рабочий код
Q.all([
someFunction1(),
someOtherFunction('https://www.google.com', 'Google'),
someOtherFunction('https://www.facebook.com', 'Facebook'),
])
.catch(function (err){
console.log(err);
process.exit(1);
})
При добавлении затем в соответствии с ниже, затем выполняется до обетования было завершено, и поэтому console.log вызов выполняется независимо от того, выполняется или отклонено обещание.
Q.all([
someFunction1(),
someOtherFunction('https://www.google.com', 'Google'),
someOtherFunction('https://www.facebook.com', 'Facebook'),
])
.then(console.log("No problem here"))
.catch(function (err){
console.log(err);
process.exit(1);
})
Вы возвращающееся обещание от ваших функций? Если из функций, содержащихся в .all [], возвращается неопределенное значение, оно немедленно оценивается –
У меня были обещания возвращены, но это полезный момент для запоминания - спасибо. – aaaidan