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 RencanaCombineLatest — 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 RencanaNotifikasiFuture 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.
AggregateAllAmbambArrayambWithand_AndAnyapplyas_blockingasObservableAssertEqualasyncActionasyncFuncAverageaverageDoubleaverageFloataverageIntegeraverageLongblockingblockingFirstblockingForEachblockingIterableblockingLastblockingLatestblockingMostRecentblockingNextblockingSingleblockingSubscribeBufferbufferWithCountbufferWithTimebufferWithTimeOrCountbyLinecachecacheWithInitialCapacitycaseCastCatchcatchErrorcatchExceptioncollectcollect (versi RxScala dari Filter)collectIntoCombineLatestcombineLatestDelayErrorcombineLatestWithConcatconcat_allconcatAllconcatArrayconcatArrayDelayErrorconcatArrayEagerconcatDelayErrorconcatEagerconcatMapconcatMapDelayErrorconcatMapEagerconcatMapEagerDelayErrorconcatMapIterableconcatMapObserverconcatMapToconcatWithConnectconnect_foreverconsContainscontrolledCountcountLongCreatecycleDebouncedecodeDefaultIfEmptyDeferdeferFutureDelaydelaySubscriptiondelayWithSelectorDematerializeDistinctdistinctKeydistinctUntilChangeddistinctUntilKeyChangedDodoActiondoAfterTerminatedoOnCompletedoOnCompleteddoOnDisposedoOnEachdoOnErrordoOnLifecycledoOnNextdoOnRequestdoOnSubscribedoOnTerminatedoOnUnsubscribedoseqdoWhiledropdropRightdropUntildropWhileElementAtElementAtOrDefaultEmptyemptyObservableempty?encodeensureserroreveryexclusiveexistsexpandfailWithFilterfilterNotFinallyfinallyActionfinallyDofindfindIndexFirstfirstElementFirstOrDefaultfirstOrElseFlatMapflatMapFirstflatMapIterableflatMapIterableWithflatMapLatestflatMapObserverflatMapWithflatMapWithMaxConcurrentflat_map_with_indexflattenflattenDelayErrorfoldlfoldLeftforforallForEachforEachFutureforEachWhileforInforkJoinFromfromActionfromArrayFromAsyncPatternfromCallablefromCallbackFromEventFromEventPatternfromFunc0fromFuturefromIterablefromIteratorfrom_listfromNodeCallbackfromPromisefromPublisherfromRunnableGenerategenerateWithAbsoluteTimegenerateWithRelativeTimegeneratorGetEnumeratorgetIteratorGroupByGroupByUntilGroupJoinheadheadOptionheadOrElseififThenIgnoreElementsindexOfinterleaveinterposeIntervalintervalRangeintoisEmptyitemsJoinjoin (string)jortSortjortSortUntilJustkeepkeep-indexedLastlastElementlastOptionLastOrDefaultlastOrElseLatestlatest (versi Rx.rb dari Switch)lengthletletBindliftlimitLongCountManySelectMapmap (versi RxClojure dari Zip)MapCatmapCat (versi RxClojure dari Zip)map-indexedmapTomapWithIndexMaterializeMaxMaxByMergemergeAllmergeArraymergeArrayDelayErrormerge_concurrentmergeDelayErrormergeObservablemergeWithMinMinByMostRecentMulticastmulticastWithSelectornestNeverNextNext (versi BlockingObservable)nonenonEmptynthObserveOnObserveOnDispatcherobserveSingleOnofof_arrayofArrayChangesof_enumerableof_enumeratorofObjectChangesOfTypeofWithScheduleronBackpressureBlockonBackpressureBufferonBackpressureDropOnErrorResumeNextonErrorReturnonErrorReturnItemonExceptionResumeNextonTerminateDetachorElsepairspairwisepartitionpartition-allpausablepausableBufferedpluckproductPublishPublishLastpublish_synchronizedpublishValueraise_errorRangeReducereduceWithreductionsRefCountRepeatrepeat_infinitelyrepeatUntilrepeatWhenReplayrescue_errorrestRetryretry_infinitelyretryUntilretryWhenReturnreturnElementreturnValuerunAsyncsafeSubscribeSampleScanscanWithscopeSelect (nama lain dari Map)select (nama lain dari Filter)selectConcatselectConcatObserverSelectManyselectManyObserverselect_switchselectSwitchselectSwitchFirstselectWithMaxConcurrentselect_with_indexseqSequenceEqualsequence_eql?SequenceEqualWithSerializeshareshareReplayshareValueSinglesingleElementSingleOrDefaultsingleOptionsingleOrElsesizeSkipSkipLastskipLastWithTimeSkipUntilskipUntilWithTimeSkipWhileskipWhileWithIndexskip_with_timesliceslidingslidingBuffersomesortsortedsort-bysorted-list-bysplitsplit-withStartstartAsyncstartFutureStartWithstartWithArraystringConcatstopAndWaitsubscribesubscribeActualSubscribeOnSubscribeOnDispatchersubscribeOnCompletedsubscribeOnErrorsubscribeOnNextsubscribeWithSumsumDoublesumFloatsumIntegersumLongSwitchswitchCaseswitchIfEmptyswitchLatestswitchMapswitchMapDelayErrorswitchOnNextswitchOnNextDelayErrorSynchronizeTaketake_with_timetakeFirstTakeLasttakeLastBuffertakeLastBufferWithTimetakeLastWithTimetakeRight (see also: TakeLast)TakeUntiltakeUntilWithTimeTakeWhiletakeWhileWithIndextailtaptapOnCompletedtapOnErrortapOnNextThenthenDoThrottlethrottleFirstthrottleLastthrottleWithSelectorthrottleWithTimeoutThrowthrowErrorthrowExceptionTimeIntervalTimeouttimeoutWithSelectorTimerTimestampToto_aToArrayToAsynctoBlockingtoBufferto_dictToDictionaryToEnumerableToEventToEventPatternToFlowableToFutureto_htoIndexedSeqtoIterabletoIteratorToListToLookuptoMaptoMultiMapToObservabletoSettoSortedListtoStreamToTasktoTraversabletoVectortumblingtumblingBufferunsafeCreateunsubscribeOnUsingWhenWherewhilewhileDoWindowwindowWithCountwindowWithTimewindowWithTimeOrCountwindowedwithFilterwithLatestFromZipzipArrayzipIterablezipWithzipWithIndex+++::+