Есть ли оператор, который вызывает ошибку вместо следующего в Observables - PullRequest
1 голос
/ 21 апреля 2020

of операторы выдают next значения. Например, of(1,2,3) будет выдавать значения 1, 2 и 3, вызывая next из of. Есть ли оператор, который может позвонить error? Мне нужно это для имитации обработки ошибок в моем модульном тесте.

1 Ответ

1 голос
/ 21 апреля 2020

Для этого не обязательно использовать оператор.

Ниже приведен пример, где каждое четвертое значение будет ошибкой:

const observable$ = Observable.create(observer => {
    let n = 1;

    const intervalId = setInterval(() => {
        if (n < 4) {
            observer.next(n);
            n += 1;
        } else {
            observer.error("Error emitted");
        }
    }, 1000);

    return () => clearInterval(intervalId);
});

observable$.subscribe({
    next: x => console.log(x),
    error: x => console.error(x)
});

Однако, если вы ищете оператора, то throwError может быть тем, который вы ищете. Подробности об этом можно найти здесь .

...