У меня есть следующая функция.Я удалил из него ненужный код, чтобы его было проще читать.
add() {
const listingId = 'xyz';
const promise = new Promise((resolve, reject) => {
reject(Error(`error msg`));
});
return from(promise).pipe(
map(() => listingId),
catchError(error => of(error.message))
);
}
Я подписываюсь на наблюдаемую информацию вот так:
this.service.add().subscribe(
listingId => {
console.log(`listingId:`, listingId);
},
error => {
console.log(`Error:`, error);
},
() => {
console.log(`Completed`);
}
);
Проблема в том, что ошибка перехватываетсяв следующем () вместо error ().Вывод консоли:
listingId: error msg
Completed
Должно быть:
Error: error msg
Что я делаю не так?