У меня есть API с несколькими сервисами и методами. Некоторые из этих вызовов я хочу обрабатывать вручную, например отображать полезное сообщение об ошибке для пользователя, если ошибка ожидается.
Для остальных вызовов мне нужна реализация «catch» по умолчанию, которая будет выдавать сообщение, которое будет обрабатывать какой-либо глобальный прослушиватель, и отображать более общее сообщение об ошибке.
Я нашел еще один пост о переполнении стека, который почти дает мне то, что я хочу: Promises и общие операторы .catch()
То есть ловит по умолчанию, но повторно выдает ошибку. Проблема в том, что если я реализую свой собственный улов для какой-то конкретной службы, я не хочу, чтобы срабатывал общий улов, поскольку это будет отображать глобальную общую ошибку.
Есть ли способ иметь реализацию catch по умолчанию, которая переопределяется, если catch выполняется вручную?
пример:
let promise = pageService.getPage({pageId})
.then( (resp) => {} )
// on error, use the default catch
let promise = pageService.getPage({pageId})
.then( (resp) => {} )
.catch( (error) => { /* I want to handle the error, override the default error implementation */} )