Ошибка Rxjs является исключением, она немедленно останавливает поток и позволяет вам перехватить его, чтобы он реагировал на что-то непредвиденное.Я полагаю, у вас нет никакого способа манипулировать потоком throwError, кроме как с помощью catchError
Решение 1. Управляйте потоком перед выдачей ошибки.
const throwingObservable = throwError(new Error('My Error'));
timer(5000).pipe(mergeMap(e => throwingObservable))
.subscribe((value) => console.log(value), (error) => console.error(error));
Решение2: Перехватите ошибку, задержите поток, затем отправьте его снова
throwingObservable.pipe(
// We catch the error, we delay by adding timer stream, then we mergeMap to the error.
catchError(e => timer(1000).pipe(mergeMap(t => throwError(e)))
)).subscribe(console.log, console.error);
Вы можете увидеть это в действии