Skip to content

Latest commit

 

History

History
48 lines (32 loc) · 1.78 KB

first.md

File metadata and controls

48 lines (32 loc) · 1.78 KB
id mainCompare lesson image compare learnBackAbout learnAbout title layout class preview_image preview_image_alt
first
take
19
first/Take1vsFirst.jpeg
take
first
takeWhile
skipWhile
Reactive Programming - Are Last and First symmetrical?
default
post
first/LastVsFirst.jpeg
The "first" operator

In RxJS, first accepts an optional predicate. Learn more ➜
Read more about stream completion ➜

Take vs First

Question: Do ❚ take(1) and ❚ first() return the same stream of events?

Answer: Clearly, they return the same stream of events when the input stream emits at least one event. But the results may be different if the input stream emits no value before its completion (I'll detail such edge cases in a future article).

Last vs First

❚ last (seen in Episode 10) is the counterpart of ❚ first:

Question: Are ❚ last and ❚ first outputs identical when the input stream emits only one value?




Answer: Not when the input stream emits only one value and completes later or never completes. ❚ first and ❚ last are not strictly "symmetrical". Remember that ❚ last has to wait for the ◉ complete notification (read more about stream completion).

Quick Exercises

Given a stream of numbers, return a stream that emits only the first even number and completes immediately. For example, given the stream 1 1 1 0 1 0 0 1, emit only the first 0.

And what about emitting the last even number?

See also

{:.w300}
takeWhile vs skipWhile