Если function uploadLogs()
отклонено, я ожидаю, что отказ будет пузыриться и обрабатываться function reject(reason)
, но это не так. Почему нет?Почему отказ не пузырится?
Обработчик отвержения для function uploadLogs()
обрабатывает отказ:
return EventCollector.persist().then(function persistResolve() {
return EventCollector.uploadLogs().then(function uploadLogsResolve() {
return closeApp();
}, function rejectionHandler() {
console.log("this rejection handler handles the event")
});
}, function reject(reason) {
return closeApp();
});
Но если удалить обработчик отклонения и ожидать, что отказ в пузырек и обрабатываться режекциями обработчиком persist()
, он почему-то Безразлично» т.
return EventCollector.persist().then(function persistResolve() {
return EventCollector.uploadLogs().then(function uploadLogsResolve() {
return closeApp();
});
}, function reject(reason) {
console.log("rejection is not handled when uploadLogs() fails");
return closeApp();
});
Не обещание цепочки и отклонения пузыря должно работать таким образом?
Можете ли вы дать больше контекста, чем просто сказать не получается. функция отклонения вызывается, когда когда-либо обещание, возвращаемое из uploadLogs(), отклоняется. – M22an