Setiap implementasi yang spesifik dengan bahasa tertentu dari ReactiveX menerapkan sebuah set dari operator-operator. Meskipun terdapat kemungkinan tumpang tindih diantara implementasi-implementasinya, ada juga beberapa operator yang hanya diterapkan pada implementasi tertentu. Dan juga, tiap implementasi cenderung untuk menamai operatornya sendiri agar mirip dengan beberapa method yang sudah diterapkan di konteks lainnya pada bahasa tersebut.
Kebanyakan operator beroperasi pada sebuah Observable dan mengembalikan sebuah Observable. Ini memungkinkan anda untuk mengaplikasikan operator-operator tersebut satu demi satu, seperti sebuah rantai. Masing-masing operator pada rantai tersebut mengubah Observable yang merupakan hasil dari operasi yang dilakukan operator sebelumnya.
Ada beberapa pattern yang lain, seperti Builder Pattern, yang dimana beberapa method dari sebuah class tertentu beroperasi pada sebuah item pada class yang sama dengan cara mengubah obyeknya melalui operasi method tersebut. Pattern seperti itu juga memungkinkan anda untuk menggabungkan method-method dengan cara yang hampir sama. Tetapi di Builder Pattern, urutan dari method apa yang dipakai di rantai pemanggilan method biasanya tidak berpengaruh, sedangkan pada operator Observable, urutan berpengaruh.
Sebuah rantai operator Observable tidak beroperasi secara indenpenden terhadap Observable asalnya yang memulai rantai tersebut, tetapi beroperasi secara bergantian, masing-masing beroperasi pada Observable yang dibentuk oleh operator sebelumnya dalam rantai tersebut.
Halaman ini mempunyai daftar yang bisa dianggap sebagai operator “inti” di ReactiveX, dan memiliki tautan dengan halaman-halaman yang memiliki informasi yang lebih lengkap bagaimana operator tersebut bekerja dan bagaimana versi dari bahasa-bahasa yang menerapkan operator-operator tersebut.
Kemudian ada sebuah “decision tree” yang mungkin bisa membantu anda menentukan operator apa yang paling cook anda gunakan sesuai kebutuhan anda.
Dan akhirnya, ada sebuah daftar yang disusun menurut abjad tentang hampir setiap operator yang dapat dipakai di bahasa-bahasa yang menerapkan ReactiveX. Daftar tersebut akan memiliki tautan ke halaman yang berisi operator inti yang paling miirp dengan operator masing-masing bahasa tersebut (contohnya, Rx.NET & operator “SelectMany” terhubung ke dokumentasi Operator ReactiveX FlatMap, yang dimana “SelectMany” adalah implementasi dari Rx.NET).
Jika anda ingin mengimplementasi operator anda sendiri, lihat Menerapkan Operator Anda Sendiri.
Operator yang membuat Observable baru.
Create
— membuat sebuah Observable dari awal dengan memanggil method observer secara terprogramDefer
— jangan membuat Observable sampai observer melakukan subscribe, dan membuat sebuah Observable baru untuk tiap observerEmpty
/Never
/Throw
— membuat Observable yang memiliki perilaku yang tepat dan terbatasFrom
— mengubah beberapa obyek atau struktur data menjadi sebuah ObservableInterval
— membuat sebuah Observable yang memancarkan sebuah deret yang terjeda oleh suatu satuan waktu tertentuJust
— mengubah sebuah obyek atau sebuah set dari obyek menjadi sebuah Observable yang memancarkan obyek tersebut.Range
— membuat sebuah Observable yang memancarkan sebuah deret bilangan dalam batasan tertentuRepeat
— membuat sebuah Observable yang memancarkan item atau deret tertentu secara berulang-ulangStart
— membuat sebuah Observable yang memancarkan hasil dari sebuah fungsiTimer
— membuat sebuah Observable yang memancarkan tepat satu item setelah jangka waktu tertentuOperator yang mengubah item yang dipancarkan oleh suatu Observable.
Buffer
— mengumpulkan item dari sebuah Observable secara berkala menjadi sebuah kumpulan/ bundel dan memancarkan bundel tersebut daripada memancarkan item satu per satuFlatMap
— mengubah item yang diemit oleh sebuah Observable menjadi beberapa Observable, kemudian meratakan emisi-emisi tersebut menjadi sebuah ObservableGroupBy
— membagi sebuah Observable menjadi beberapa set Observable yang dimana masing masing memancarkan grup item yang berbeda dari Observable asalnya, diatur dengan sebuah keyMap
— mengubah item-item yang dipancarkan oleh sebuah Observable dengan menerapkan sebuah fungsi ke masing-masing itemScan
— menerapkan sebuah fungsi kepada masing-masing item yang dipancarkan oleh sebuah Observable, secara berurutan, dan memancarkan nilainyaWindow
— secara berkala membagi item dari sebuah Observable menjadi jendela Obervable dan memancarkan jendela tersebut daripada item satu per satuows and emit these windows rather than emitting the items one at a timeOperator yang secara selektif memancarkam item dari sumber Observable.
Debounce
— hanya memancakan sebuah item dari sebuah Observable jika sudah melewati jangka waktu tertentu tanpa memancarkan item lainnyaDistinct
— menahan item duplikat yang dipancarkan oleh sebuah ObservableElementAt
— hanya memancarkan item n yang dipancarkan oleh sebuah ObservableFilter
— hanya memancarkan item yang sudah melewati uji predikatFirst
— hanya memancarkan item pertama, atau item pertama yang memenuhi kondisi tertentu, dari sebuah ObservableIgnoreElements
— tidak memancarkan item apapun dari sebuah Observable tetapi hanya mengikutinya memancarkan notifikasi berhentiLast
— memancarkan hanya item terakhir yang dipancarkan oleh ObservableSample
— memancarkan item terbaru yang dipancarkan oleh sebuah Observable dalam jangka waktu tertentuSkip
— menahan n item pertama yang dipancarkan oleh sebuah ObservableSkipLast
— menahantn item terakhir yang dipancarkan oleh sebuah ObservableTake
— memancarkan hanya n items pertama yang dipancarkan oleh sebuah ObservableTakeLast
— memancarkan hanya n items terakhir yang dipancarkan oleh sebuah ObservableOperator yang bekerja dengan lebih dari sumber Observable untuk membuat satu Observable
And
/Then
/When
— menggabungkan set dari item yang dipancarkan oleh dua atau lebih Observable melalui suatu Pola
atau Rencana
CombineLatest
— ketika sebuah item dipancarkan oleh salah satu dari dua Observable, menggabungkan item paling terbaru yang dipancarkan oleh masing-masing Observable melalui sebuah fungsi yang sudah didefinisikan berdasarkan hasil dari fungsi iniJoin
— menggabungkan item yang dipancarkan oleh dua Observable kapanpun sebuah item dari satu Observable dipancarkan selama sebuah jangka waktu yang ditentukan tergantung dari item yang dipancarkan Observable yang lainnyaMerge
— menggabungkan beberapa Observable menjadi satu dengan cara menggabungkan emisi merekaStartWith
— memancarkan sebuah deret yang sudah ditentukan sebelum mulai untuk memancarkan item dari Observable sumberSwitch
— mengubah sebuah Observable yang memancarkan Observable menjadi sebuah Observable yang memancarkan item dari Observable terbaru yang memancarkan itemZip
— menggabungkan emisi-emisi dari lebih dari satu Observable bersama-sama melalui sebuah fungsi yang sudah ditentukan dan memancarkan satu item untuk setiap kombinasi berdasarkan hasil dari fungsi iniOperator yang membantu untuk pulih dari notifikasi error dari sebuah Observable
Catch
— pulih dari sebuah notifikasi onError
dengan melanjutkan deret tanpa errorRetry
— jika sebuah Observable sumber mengirim sebuah notifikasi onError
, akan dilakukan proses subscribe ulang dengan harapan itu akan berhasil dan selesai tanpa ada errorSekumpulan Operator yang berguna ketika bekerja dengan Observables
Delay
— menggeser emisi ke beberapa saat di waktu yang akan datangDo
— mendaftarkan sebuah aksi untuk dieksekusi dalam beberapa kejadian sepanjang masa hidupnyaMaterialize
/Dematerialize
— merepresentasikan baik item yang dipancarkan dan notifikasi yang dikirimkan sebagai item yang dipancarkan, atau membalikkan proses iniObserveOn
— menentukan scheduler tempat dimana observer akan mengamati Observable iniSerialize
— memaksa sebuah Observable untuk membuat beberapa panggilan secara serial dan untuk menormalkan Observable tersebutSubscribe
— beroperasi terhadap emisi-emisi dan notifikasi-notifikasi dari sebuah ObservableSubscribeOn
— menentukan scheduler tempat yang akan digunakan sebuah Observable ketika dilakukan subscribe kepadanyaTimeInterval
— mengubah sebuah Observable yang memancarkan item menjadi Observable yang memancarkan indikasi waktu yang telah berlalu diantara emisi-emisi tersebutTimeout
— mencerminkan Observable sumber, tetapi membuat sebuah notifikasi error jika sudah melewati jangka waktu tertentu tanpa memancarkan item apapunTimestamp
— melampirkan sebuah stempel waktu kepada masing-masing item yang dipancarkan oleh sebuah ObservabkeUsing
— membuat sebuah sumber daya yang dapat dibuang yang memiliki masa hidup sama seperti sebuah ObservableOperator yang mengevaluasi satu atau lebih Observable atau item yang dipancarkan oleh beberapa Observable
All
— menentukan apakah semua item yang dipancarkan oleh sebuah Observable memenuhi kriteria tertentuAmb
— diberikan dua atau lebih Observable sumber, pancarkan semua item dari Observable yang paling dulu memancarkan item diantara Observable-observable tersebutContains
— menentukan apakah sebuah Observable memancarkan item tertentu atau tidakDefaultIfEmpty
— memancarkan item dari Observable sumber, atau sebuah nilai tertentu jika Observable tersebut tidak memancarkan apapunSequenceEqual
— menentukan apakah dua observable memancarkan deretan item yang samaSkipUntil
— membuang item yang dipancarkan oleh sebuah Observable sampai sebuah Observable kedua memancarkan sebuah itemSkipWhile
— membuang item yang dipancarkan oleh sebuah Observable sampai sebuah kondisi yang ditentukan menjadi falseTakeUntil
— mengambil item yang dipancarkan oleh sebuah Observable sampai sebuah Observable kedua memancarkan sebuah item atau berhentiTakeWhile
— mengambil item yang dipancarkan oleh sebuah Observable sebelum kondisi yang ditentukan menjadi falseOperator yang beroperasi pada pada seluruh deret item yang dipancarkan Observable
Average
— menghitung rata-rata dari angka yang dipancarkan oleh sebuah Observable dan memancarkan hasilnyaConcat
— memancarkan emisi dari dua atau lebih Observable tanpa menyisipkan merekaCount
— menghitung jumlah angka yang dipancarkan oleh Observable sumber lalu memancarkan hasilnyaMax
— menentukan, dan memancarkan, nilai maksimal dari item yang dipancarkan ObservableMin
— menentukan, dan memancarkan, nilai minimal dari item yang dipancarkan ObservableReduce
— menerapkan sebuah fungsi ke tiap item yang dipancarkan oleh sebuah Observable secara berurutan dan memancarkan nilai akhirnyaSum
— menghitung jumlah dari angka-angka yang dipancarkan oleh sebuah Observable dan memancarkan hasilnyaObservable khusus yang memiliki dinamika subscription yang lebih terkontrol dengan tepat
Connect
— menginstruksikan sebuah Observable connectable untuk mulai memancarkan item kepada subscriber-nyaPublish
— mengubah sebuah Observable biasa menjadi sebuah Observable connectableRefCount
— membuat sebuah Observable connectable berperilaku seperti sebuah Observable biasaReplay
— memastikan semua observer melihat deret yang sama dari item yang dipancarkan, bahkan jika mereka baru melakukan subscribe setelah Observable tersebut sudah mulai memancarkan itemTo
— mengubah sebuah Observable menjadi obyek atau struktur data yang lainTree ini dapat mmbantu anda menemukan operator yang sedang anda cari.
Array
, Iterable
, atau sejenisnyaPola
dan Rencana
Notifikasi
Future
yang melakukan blok sampai Observable tersebut selesaiSecara resmi, operator inti ditandai dengan cetakan tebal. Sisanya merepresentasikan jenis operator yang diimplementasi oleh bahasa-bahasa tersendiri atau operator khusus diluar dari operator-operator utama dari ReactiveX.
Aggregate
All
Amb
ambArray
ambWith
and_
And
Any
apply
as_blocking
asObservable
AssertEqual
asyncAction
asyncFunc
Average
averageDouble
averageFloat
averageInteger
averageLong
blocking
blockingFirst
blockingForEach
blockingIterable
blockingLast
blockingLatest
blockingMostRecent
blockingNext
blockingSingle
blockingSubscribe
Buffer
bufferWithCount
bufferWithTime
bufferWithTimeOrCount
byLine
cache
cacheWithInitialCapacity
case
Cast
Catch
catchError
catchException
collect
collect
(versi RxScala dari Filter
)collectInto
CombineLatest
combineLatestDelayError
combineLatestWith
Concat
concat_all
concatAll
concatArray
concatArrayDelayError
concatArrayEager
concatDelayError
concatEager
concatMap
concatMapDelayError
concatMapEager
concatMapEagerDelayError
concatMapIterable
concatMapObserver
concatMapTo
concatWith
Connect
connect_forever
cons
Contains
controlled
Count
countLong
Create
cycle
Debounce
decode
DefaultIfEmpty
Defer
deferFuture
Delay
delaySubscription
delayWithSelector
Dematerialize
Distinct
distinctKey
distinctUntilChanged
distinctUntilKeyChanged
Do
doAction
doAfterTerminate
doOnComplete
doOnCompleted
doOnDispose
doOnEach
doOnError
doOnLifecycle
doOnNext
doOnRequest
doOnSubscribe
doOnTerminate
doOnUnsubscribe
doseq
doWhile
drop
dropRight
dropUntil
dropWhile
ElementAt
ElementAtOrDefault
Empty
emptyObservable
empty?
encode
ensures
error
every
exclusive
exists
expand
failWith
Filter
filterNot
Finally
finallyAction
finallyDo
find
findIndex
First
firstElement
FirstOrDefault
firstOrElse
FlatMap
flatMapFirst
flatMapIterable
flatMapIterableWith
flatMapLatest
flatMapObserver
flatMapWith
flatMapWithMaxConcurrent
flat_map_with_index
flatten
flattenDelayError
foldl
foldLeft
for
forall
ForEach
forEachFuture
forEachWhile
forIn
forkJoin
From
fromAction
fromArray
FromAsyncPattern
fromCallable
fromCallback
FromEvent
FromEventPattern
fromFunc0
fromFuture
fromIterable
fromIterator
from_list
fromNodeCallback
fromPromise
fromPublisher
fromRunnable
Generate
generateWithAbsoluteTime
generateWithRelativeTime
generator
GetEnumerator
getIterator
GroupBy
GroupByUntil
GroupJoin
head
headOption
headOrElse
if
ifThen
IgnoreElements
indexOf
interleave
interpose
Interval
intervalRange
into
isEmpty
items
Join
join
(string)jortSort
jortSortUntil
Just
keep
keep-indexed
Last
lastElement
lastOption
LastOrDefault
lastOrElse
Latest
latest
(versi Rx.rb dari Switch
)length
let
letBind
lift
limit
LongCount
ManySelect
Map
map
(versi RxClojure dari Zip
)MapCat
mapCat
(versi RxClojure dari Zip
)map-indexed
mapTo
mapWithIndex
Materialize
Max
MaxBy
Merge
mergeAll
mergeArray
mergeArrayDelayError
merge_concurrent
mergeDelayError
mergeObservable
mergeWith
Min
MinBy
MostRecent
Multicast
multicastWithSelector
nest
Never
Next
Next
(versi BlockingObservable)none
nonEmpty
nth
ObserveOn
ObserveOnDispatcher
observeSingleOn
of
of_array
ofArrayChanges
of_enumerable
of_enumerator
ofObjectChanges
OfType
ofWithScheduler
onBackpressureBlock
onBackpressureBuffer
onBackpressureDrop
OnErrorResumeNext
onErrorReturn
onErrorReturnItem
onExceptionResumeNext
onTerminateDetach
orElse
pairs
pairwise
partition
partition-all
pausable
pausableBuffered
pluck
product
Publish
PublishLast
publish_synchronized
publishValue
raise_error
Range
Reduce
reduceWith
reductions
RefCount
Repeat
repeat_infinitely
repeatUntil
repeatWhen
Replay
rescue_error
rest
Retry
retry_infinitely
retryUntil
retryWhen
Return
returnElement
returnValue
runAsync
safeSubscribe
Sample
Scan
scanWith
scope
Select
(nama lain dari Map
)select
(nama lain dari Filter
)selectConcat
selectConcatObserver
SelectMany
selectManyObserver
select_switch
selectSwitch
selectSwitchFirst
selectWithMaxConcurrent
select_with_index
seq
SequenceEqual
sequence_eql?
SequenceEqualWith
Serialize
share
shareReplay
shareValue
Single
singleElement
SingleOrDefault
singleOption
singleOrElse
size
Skip
SkipLast
skipLastWithTime
SkipUntil
skipUntilWithTime
SkipWhile
skipWhileWithIndex
skip_with_time
slice
sliding
slidingBuffer
some
sort
sorted
sort-by
sorted-list-by
split
split-with
Start
startAsync
startFuture
StartWith
startWithArray
stringConcat
stopAndWait
subscribe
subscribeActual
SubscribeOn
SubscribeOnDispatcher
subscribeOnCompleted
subscribeOnError
subscribeOnNext
subscribeWith
Sum
sumDouble
sumFloat
sumInteger
sumLong
Switch
switchCase
switchIfEmpty
switchLatest
switchMap
switchMapDelayError
switchOnNext
switchOnNextDelayError
Synchronize
Take
take_with_time
takeFirst
TakeLast
takeLastBuffer
takeLastBufferWithTime
takeLastWithTime
takeRight
(see also: TakeLast
)TakeUntil
takeUntilWithTime
TakeWhile
takeWhileWithIndex
tail
tap
tapOnCompleted
tapOnError
tapOnNext
Then
thenDo
Throttle
throttleFirst
throttleLast
throttleWithSelector
throttleWithTimeout
Throw
throwError
throwException
TimeInterval
Timeout
timeoutWithSelector
Timer
Timestamp
To
to_a
ToArray
ToAsync
toBlocking
toBuffer
to_dict
ToDictionary
ToEnumerable
ToEvent
ToEventPattern
ToFlowable
ToFuture
to_h
toIndexedSeq
toIterable
toIterator
ToList
ToLookup
toMap
toMultiMap
ToObservable
toSet
toSortedList
toStream
ToTask
toTraversable
toVector
tumbling
tumblingBuffer
unsafeCreate
unsubscribeOn
Using
When
Where
while
whileDo
Window
windowWithCount
windowWithTime
windowWithTimeOrCount
windowed
withFilter
withLatestFrom
Zip
zipArray
zipIterable
zipWith
zipWithIndex
++
+:
:+