이 기사는 Florian Rappl과 Moritz Kröger가 검토했습니다. Sitepoint의 콘텐츠를 완벽하게 만들어 주신 Sitepoint의 모든 동료 검토 자에게 감사드립니다!
키 포인트
rxjs는 시간이 지남에 따라 채워진 배열과 유사한 관측 가능한 객체를 활용하여 기능적 반응성 프로그래밍 (FRP)을 용이하게하여 응용 프로그램에서 더 선언적이고 강력한 오류 처리가 가능합니다.
RXJ에서 간단한 스트림의 핵심 조작, 예 : , , 및 , 미러 배열 작업은 시간이 지남에 따라 값을 방출하는 숫자 스트림에 적용됩니다.
map()
filter()
reduce()
take()
다시 말해서, 관찰 가능한 물체는 시간이 지남에 따라 채워진 배열에 지나지 않습니다. switch()
반면에
<code class="language-javascript">const task_stream = // 创建所有数据库中任务的流 getTasks(). // 只获取此用户的任务 filter((task) => task.user_id == user_id). // 获取未完成的任务 filter((task) => !task.completed). // 只获取任务名称 map((task) => task.name) /* 任务如下所示: task = { user_id : number, completed : boolean, name : string } */</code>
<code class="language-javascript">const task_stream = parameter_stream. debounce(1000). map((parameter) => { getTasks(). retry(3). filter((task) => task.user_id === user_id). filter((task) => task.completed === parameter). map((task) => task.name) }). flatMap(Rx.Observable.from). distinctUntilChanged(). update()</code>JSONPLASEHOLDER는 사용자의 원천 역할을 할 것입니다. 이것은 우리가 사용할 사용자 데이터의 JSON 표현입니다.
> 1. 데이터를 변환하기 위해 map ()를 사용하십시오 Observable Objects에서 map ()를 사용하는 것은 배열에서 사용하는 것과 동일합니다. It : <..>
약속이 문자열이나 숫자를 반환하면 특별한 일을 할 필요가 없습니다. 그러나 배열을 반환 할 때 (우리의 경우) 배열 자체가 아닌 배열의 내용을 단일 값으로 방출하는 관찰 가능한 객체를 만드는 것을 선호합니다.
concat () 스트림은 먼저 Source1의 모든 값을 인쇄하고 Source1이 완료된 후에 만 Source2의 값을 인쇄하기 시작합니다.
이 목적을 위해 RXJS는 스위치를 제공합니다.
선택을 변경하십시오
<.> 두 가지 옵션을 변경하십시오.
요약
위 내용은 10 예제와 함께 알아야 할 RXJS 기능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!