Я давно использую 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», чтобы преобразовать обещание в
наблюдаемое. Затем вы должны подписаться на него, чтобы использовать эту
наблюдаемую цепочку.
Не забудьте подписаться на наблюдаемое, иначе
это не сработает. Он просто будет ждать, пока вы на него подпишетесь.
В следующем выпуске я приведу примеры изящной обработки ошибок.