-
amb(…args)
Demo
最初に値を出力したObservableの値のみを次の処理に渡す
Promise.race()に似ている -
case(selector, sources, [elseSource|scheduler])
Demo
selectorが返した文字列のsourcesのObservableを返す
sources: キーとObservableのObject
selector: sourcesのキーを返す関数、引数なし -
catch(…args)
Demo
errorが発生した場合、流されるデータをセットする -
concat(…args)
Demo
Observableの末尾に指定したObservaleを連結する -
create(subscribe)
Demo
Observableを生成する。 subscribeはobserverを引数にとる関数です。
subscribeはonNext()とonComplete()を実行してdispose()を返す。 -
defer(observableFactory)
Demo
observableFactoryはObservableを返す関数でdeferが呼ばれるたびに実行される。 -
empty([scheduler])
Demo
空のデータを送って下流の処理を実行しない -
for(sources, resultSelector, [thisArg])
Demo
sourcesはarray
resultSelectorはObservableを返す関数でarrayにあるデータを1つデータとして受け取る。 -
forkJoin(…args)
Demo
argsにはObservableを指定するObservableの最後の値を配列にして渡す -
from(iterable, [mapFn], [thisArg], [scheduler])
iteratorからobservableを生成する -
fromArray(array, [scheduler])
deprecated
arrayからobservableを生成する -
fromCallback(func, [scheduler], [context], [selector])
funcのcallback関数からobservableを生成する。
callbackはfuncの最後の引数である必要がある。 -
fromEvent(element, eventName, [selector])
Demo
Eventからobservableを生成する。 -
fromEventPattern(addHandler, [removeHandler], [selector])
Demo -
generate(initialState, condition, iterate, resultSelector, [scheduler])
Demo
for文のようにObservableを生成する -
generateWithAbsoluteTime(initialState, condition, iterate, resultSelector, timeSelector, [scheduler])
timeSelectorが返した時刻に値を返すObservableを返す -
generateWithRelativeTime(initialState, condition, iterate, resultSelector, timeSelector, [scheduler])
Demo
timeSelectorは前の値を返してから値を返すまでの時間を返す -
interval(period, [scheduler])
periodの間隔で値を返すObservableを返す -
merge([scheduler], …args)
Demo
Observableを合成する -
ofWithScheduler([scheduler], …args)
Demo
使用するschedulerを指定してargsを返すObservableを返す。 -
onErrorResumeNext(…args)
Demo
argsはObservableの配列
errorが発生しても次のObservableからデータを取得する -
range(start, count, [scheduler])
startからcount分のデータを返すObservableを返す -
repeat(value, [repeatCount], [scheduler])
Demo
valueをrepeatCount回返すObservableを返す。
repeatCountが指定されてない場合は無限にvalueを返す。 -
return(value, [scheduler])
just(value, [scheduler])と同じ
valueを返すObservableを返す。 -
start(func, [context], [scheduler])
非同期でfuncを実行する。
funcが返した値を返すObservableを返す。 -
startAsync(functionAsync)
Demo
functionAsyncはPromiseを返すような非同期処理を行う関数 -
throw(exception, [scheduler])
throwError(exception, [scheduler])と同じ
exceptionをthrowしてonError()を呼ぶ -
timer(dueTime, [period], [scheduler])
dueTime後にperiodの間隔で値を返すObservableを返す
periodが指定されていない場合は1回だけ値を返す -
toAsync(func, [context], [scheduler])
funcを非同期に実行してその戻り値を値として返すObservableを返す関数を返す -
when(…args)
Demo
argsはPatternでandとthenDoを利用するときに利用する -
while(condition, source)
conditionはBooleanを返す関数
conditionがfalseを返すまでObservableを返す -
zip(…args, func)
Demo
argsはObservable
funcはargsにあるObservableの値を引数にもつ
funcの戻り値を出力するObservableを返す。 -
zipArray(…args)
argsはObservable
argsの各出力をarrayにして返すObservableを返す
-
and(rightSource)
Demo
Promise.all()のようなもの -
average([selector], [thisArg])
Observableの値の平均を返す。 selectoCが指定されている場合は値を引数にしてその戻り値の平均を返す -
bufferは時間内に取得したObservableの値をまとめて配列にする
-
bufferWithCount(count, [skip])
Observableから来た値の数で値をまとめる
skipは一つ前のまとまりの直前の値を現在のまとまりに加える個数 -
bufferWithTime(timeSpan, [timeShift | scheduler], [scheduler])
指定した時間の間に来た値をまとめて配列にする
timeShiftに関してはdocumentを見ること -
combineLatest(…args, resultSelector)
Demo
argsはObservable 各Observableが新しい値を送るごとにその他のObservableの最近の値と組み合わせてresultSelectorに渡す。 -
concatAll()
Demo
上流にある複数のObservableを統合して1つのObservableにする -
concatMap(selector, [resultSelector], [thisArg])
Demo1
Demo2
selectorはObservableを返す関数で引数に上流からの値とそのindexをとる
resultSelectorは値を返す関数で引数にselectorが受け取った値、戻り値、selectorが受け取ったindex、resultSelectorのindexが来る
selectorが返したObservableを連結してその値をresultSelectorに渡す。
resultSelectorが指定されていない場合はthisArgがselectorのコンテキストになる -
concatMapObserver(onNext, onError, onCompleted, [thisArg])
Demo
上流の状態で処理を切り替える -
connect()
publishでとまったsourceの流れを再開する
1つの上流から複数の下流に流す際に利用する -
includes(searchElement, [fromIndex])
上流から来たデータの中に指定したデータが存在している場合、trueを1つ返す
存在していない場合、falseを返す -
controlled([enableQueue])
Demo
Observableにコントローラを付与する
request( -
count([predicate])
上流から来たデータの数を返す -
debounce(dueTime, [scheduler])
Demo
throttle -
debounceWithSelector(durationSelector)
durationSelectorはtimerを返す -
defaultIfEmpty([defaultValue])
emptyがきたらdefaultValueを返す -
delay(dueTime, [scheduler])
dueTimeはDateかnumber
上流のデータが流れ始めるのをdueTime待つ -
delayWithSelector([subscriptionDelay], delayDurationSelector)
subscriptionDelayは最初にデータを流すまでの時間
delayDurationSelectorはデータを流す間隔 -
distinct([keySelector], [compare])
Demo
今までに流れてきたデータと異なるデータなら流す -
distinctUntilChanged([keySelector], [comparer])
Demo
1つ前に流れてきたデータと異なるデータなら流す -
do([observer] | [onNext], [onError], [onCompleted])
tap()と同じ
流れてきたデータをそのまま下流に流す
登録された処理を実行する
debugに利用すると便利 -
doWhile(condition)
Demo
conditionはBooleanを返す関数
conditionがtrueの場合は繰り返しソースを返す -
elementAt(index)
sourceのindex番目のデータのみ流す -
elementAtOrDefault(index, [defaultValue])
indexに値がない場合はdefaultValueを返す -
every(predicate, [thisArg])
上流から流れてくるデータが全てpredicateでtrueならtrueを返す -
expand(selector, [scheduler])
Demo
再起的にseletorを実行して実行する毎にその戻り値を流す -
filter(predicate, [thisArg])
whereと同じ -
finally(action)
Demo
subscribeが終わった後に実行される関数を登録する -
find(predicate, [thisArg])
最初にpredicateにマッチした値を1つ返す -
findIndex(predicate, [thisArg])
最初にpredicateにマッチした値のindexを1つ返す
マッチしなかった場合は-1を返す -
first([predicate], [thisArg])
最初の値を返す。
値がない場合はエラーになる -
firstOrDefault(predicate, [defaultValue], [thisArg])
最初の値を返す。
値がない場合はdefaultValueが返る -
flatMap(selector, [resultSelector])
Demo
selectManyと同じ
複数のObservableを1つのObservableに統合する
Observableをアンパックする
selectorはiterable, Observable, promise, function -
flatMapObserver(onNext, onError, onCompleted, [thisArg])
onNext, onCompleted, onErrorはObservableを返す
Observableをアンパックする -
flatMapLatest(selector, [thisArg])
Demo
selectorはObservableを返す関数
新しいObservableが着た場合、古いObservableのデータは流さずに新しいObservableのデータを流す -
groupBy(keySelector, [elementSelector], [comparer])
Demo
上流から来たデータをグループ化してグループごとにObservableを作る -
groupByUntil(keySelector, [elementSelector], durationSelector, [comparer])
Demo
durationSelectorごとにグループの集計をリセットする -
groupJoin(right, leftDurationSelector, rightDurationSelector, resultSelector)
-
ignoreElements()
Demo
上流から来たデータを無視する
onCompleted()は呼ばれる -
indexOf(searchElement, [fromIndex])
searchElementがあるindexを返す -
jortSort()
sourceがソート済みだった場合はtrueをそうでない場合はfalseを返す -
jortSortUntil(other)
otherからデータが来るまで受け取ったデータがソートされている場合はtrueをそうでない場合はfalseを返す -
last([predicate], [thisArg])
データの一番最後のデータを送る -
lastOrDefault([predicate], [defaultValue], [thisArg])
データの一番最後のデータを送る
ない場合はdefaultValueを送る -
let(func)
Demo
subscribeされる前にlet(func)の時点で1回だけ実行される
funcはsourceを引数にとる
funcはObservableを返す -
max([comparer])
ソースの中の最大値を取得する -
maxBy(keySelector, [comparer])
sourceをkeySelectorを通して得た値の最大値を返す -
merge(maxConcurrent | other)
引数によって効果が変わる
maxConcurrent: number 上流に複数のObservableがあった場合、その同時実行数
other: 合流するObservable -
mergeAll()
上流の複数のObservableを1つにする -
multicast(subject | subjectSelector, [selector])
Demo
sourceがpublishされた状態になるconnetをしないとデータが流れない
データはsubjectにもsourceにも流れる -
pairwise()
[n番目のデータ, n+1番目のデータ]を流す -
partition(predicate, [thisArg])
predicateがtrueになるデータを流すObservableとfalseになるデータを流すObservableを持つ配列を返す -
pausable(pauser)
Demo
pauser.onNext(false)でデータの流れを一時停止(もしくはsource.pause())
pauser.onNext(true)でデータの流れを再開(もしくはsource.resume()) -
pausableBuffered(pauser)
Demo
停止中に来たデータは保存されている -
publish([selector])
connectしたらデータが流れる -
publishValue([selector])
最初に流れるデータを指定する
connectしたらデータが流れる -
publishLast([selector])
最後のデータのみ流れる
connectしたらデータが流れる -
replay([selector], [bufferSize], [window], [scheduler])
bufferSize: 最後の何個目までのデータを繰り返すか
window: 最後の何ミリ秒間に来たデータを繰り返すか -
shareReplay([bufferSize], [window], [scheduler])
2回目のsubscribe時に1回目に記録したデータを流す
bufferSize: 最後の何個目までのデータを繰り返すか
window: 最後の何ミリ秒間に来たデータを繰り返すか -
shareValue(value)
最初にvalueを送るshare -
refCount()
publishされたものでもsubscribeされたらconnect状態にする -
repeat(repeatCount)
Demo
sourceを繰り返す
repeatCountがない場合は無限に繰り返す -
retry([retryCount])
エラーが発生した場合、sourceの最初からやり直す
retryCountがない場合は無限に繰り返す -
sample(interval | sampleObservable)
指定した時間間隔に来るデータを1つ返す -
scan([seed], accumulator)
Demo
reduceの計算するたびに値を返す版 -
sequenceEqual(second, [comparer])
sourceとsecondの流すデータが全て等しいならtrueを返す -
single([predicate], [thisArg])
sourceのデータが1つだけのときそれを流す
2つ以上もしくはemptyのときはErrorになる -
singleOrDefault(predicate, [defaultValue], [thisArg])
sourceのデータが1つだけのときそれを流す
該当する値がない場合はdefaultValueを返す。 -
skip(count)
sourceから流れてくるデータの最初のcount個を無視する -
skipLast(count)
sourceから流れてくるデータの最後のcount個を無視する -
skipLastWithTime(duration)
durationより後に来たデータを無視する -
skipUntil(other)
other: timer
other msより前に来たデータを無視する -
skipUntilWithTime(startTime, [scheduler])
startTime: ms or Date
startTimeより前に来たデータを無視する -
skipWhile(predicate, [thisArg])
predicateがtrueを返す間データを無視する -
startWith([scheduler] …args)
Demo
argsをObservableの先頭に追加する -
[subscribe([observer] [onNext], [onError], [onCompleted], [thisArg])](https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/subscribe.md) -
sum([keySelector], [thisArg])
流れてきたデータの合計を返す -
take(count, [scheduler])
データを最初からcount個だけ流す -
takeLast(count)
データを最後からcount個だけ流す -
takeLastBuffer(count)
データを最後からcount個だけ取得して配列にする -
takeLastBufferWithTime(duration, [scheduler])
最後のdurationミリ秒間に流れてきたデータを配列にして流す -
takeLastWithTime(duration, [timeScheduler], [loopScheduler])
最後のdurationミリ秒間に流れてきたデータを流す -
takeUntil(other)
otherが流れ始めるまでに来たデータを流す -
takeWhile(predicate, [thisArg])
predicateがfalseになる前に来た値を流す -
throttleFirst(windowDuration, [scheduler])
Demo
前の値と最初にwindowDuration以上時間があいたものを返す。 -
timeInterval([scheduler])
流れてくるデータを{value: value, interval: interval}形式に変換する -
timeout(dueTime, [other], [scheduler])
一つ前に流れてきたデータからdueTime以内にデータが流れてこない場合はotherを流すかエラーになる -
timeoutWithSelector([firstTimeout], [timeoutDurationSelector], [other])
firstTimeoutがタイムアウトしたときにtimeoutDuration待ってデータが来ない場合はotherを流す -
timestamp([scheduler])
流れてくるデータを{value: value, timestamp: timestamp}形式に変換する -
toArray()
ObservableをArrayにする -
toSet()
ObservableをSetにする -
toMap(keySelector, [elementSelector])
ObservableをMapにする - withLatestFrom(…args, resultSelector)
argsはObservable
データが来たときデータと最新のargsのデータをresultSelectorに送る