摘录ReactorX官网对“Observable Operators”的分类介绍,方便日后查看
Composition via Observable Operators
Observables and observers are only the start of ReactiveX. By themselves they’d be nothing more than a slight extension of the standard observer pattern, better suited to handling a sequence of events rather than a single callback.
The real power comes with the “reactive extensions” (hence “ReactiveX”) — operators that allow you to transform, combine, manipulate, and work with the sequences of items emitted by Observables.
These Rx operators allow you to compose asynchronous sequences together in a declarative manner with all the efficiency benefits of callbacks but without the drawbacks of nesting callback handlers that are typically associated with asynchronous systems.
This documentation groups information about the various operators and examples of their usage into the following pages:
Creating Observables
Create
, Defer
, Empty
/Never
/Throw
, From
, Interval
, Just
, Range
, Repeat
, Start
, and Timer
Transforming Observable Items
Buffer
, FlatMap
, GroupBy
, Map
, Scan
, and Window
Filtering Observables
Debounce
, Distinct
, ElementAt
, Filter
, First
, IgnoreElements
, Last
, Sample
, Skip
, SkipLast
, Take
, and TakeLast
Combining Observables
And
/Then
/When
, CombineLatest
, Join
, Merge
, StartWith
, Switch
, and Zip
Error Handling Operators
Catch
and Retry
Utility Operators
Delay
, Do
, Materialize
/Dematerialize
, ObserveOn
, Serialize
, Subscribe
, SubscribeOn
,TimeInterval
, Timeout
, Timestamp
, and Using
Conditional and Boolean Operators
All
, Amb
, Contains
, DefaultIfEmpty
, SequenceEqual
, SkipUntil
, SkipWhile
, TakeUntil
, and TakeWhile
Mathematical and Aggregate Operators
Average
, Concat
, Count
, Max
, Min
, Reduce
, and Sum
Converting Observables
To
Connectable Observable Operators
Connect
, Publish
, RefCount
, and Replay
Backpressure Operators
a variety of operators that enforce particular flow-control policies
These pages include information about some operators that are not part of the core of ReactiveX but are implemented in one or more of language-specific implementations and/or optional modules.