Я давно использую RxJS, просмотрел различные видеолекции, прочитал несколько руководств и сообщений в блогах. В большинстве случаев в примерах используются таймеры, интервалы и т. Д. Эти примеры не дали мне никакого понимания, кроме определения поведения оператора или функции. Я просто упустил практическое применение.

В этой серии сообщений в блоге я хотел бы предоставить вам практические примеры из реальной жизни, чтобы вы могли лучше понять силу как RxJS, так и его операторов.

Я начну с выполнения конечного запроса с помощью axios, конвертируя обещание в наблюдаемое и использую его, подписываясь на него и построчно объясняя реактивный плавный синтаксис.

Следуйте за мной по этому возможному сценарию в своем веб-приложении:

Вы хотите отображать информацию, которую вы получаете от конечной точки, и хотите корректно обрабатывать ошибки.

Здесь вы можете сделать свой конечный запрос следующим образом:

import { from, of } from "rxjs";
import axios, { AxiosResponse } from 'axios';
import { catchError } from "rxjs/operators";

from(
    axios.get('http://api.tvmaze.com/singlesearch/shows?q=fringe')
).subscribe((response: AxiosResponse) => {
  console.log('Show', response.data.name); // Show Fringe
});

Axios возвращает нам обещание, и для того, чтобы инициировать наблюдаемую последовательность
, мы должны использовать функцию «from», чтобы преобразовать обещание в
наблюдаемое. Затем вы должны подписаться на него, чтобы использовать эту
наблюдаемую цепочку.

Не забудьте подписаться на наблюдаемое, иначе
это не сработает. Он просто будет ждать, пока вы на него подпишетесь.

В следующем выпуске я приведу примеры изящной обработки ошибок.