私はBehaviorSubject<number>s
の2次元配列を持っています。デバッグの目的のために、私はすべての配列セルが値を出すとすぐにフォーマットされた方法で値を書きたいと思っています。だから私はこれを書いた:ソースが配列として与えられている場合、Observable.zipはsubscribe.nextを呼び出しません。
Observable.zip(universe.map(row => Observable.zip(row)))
.takeUntil(stopper)
.subscribe(u =>
console.log(`[\n\t[${u.map(r => r.toString()).join("],\n\t[")}]\n]`))
何も書かれていません。そしてまた、これは動作していない:
Observable.zip(universe[0])
.takeUntil(stopper)
.subscribe(u => console.log(`1[${u.toString()}]`))
しかし、これらの次加工さを(配列が5列があります):
Observable.zip(universe[0][0], universe[0][1], universe[0][2], universe[0][3], universe[0][4])
.takeUntil(stopper)
.subscribe(u => console.log(`2[${u.toString()}]`))
Observable.zip(Observable.zip(Observable.zip(Observable.zip(universe[0][0], universe[0][1]), universe[0][2]), universe[0][3]), universe[0][4])
.takeUntil(stopper)
.subscribe(u => console.log(`3[${u.toString()}]`))
はまた、私は.zipAll()演算子と考えられているが、それについては文書がありません。
Observable.zip()コードのバグの可能性があります。ArrayLike<BehaviorSubject<number>>
がコードアシスタントで可能な引数タイプを示しています。
他の方法でこの機能を利用できますか?実際のディメンションを知らなくても、すべての値が再割り当てされたら、配列値を書き留めてもらうにはどうしたらいいですか?
ご連絡ありがとうございます。 univerの定義はこれです: 'let universe:BehaviorSubject [] []'。誤った引数に関するコンパイルエラーや実行時エラーはありません。 apply()やcall()を使って私のニーズを満たすことを試みます。 –
koducu
私はこれをzip.d.ts: 'export declare function zipStatic(配列:ObservableInput []):Observable ' –
koducu
@koducuで見つけました。実際には、ここで見られるように 'zipProto'だけ心配する必要があります。 /github.com/ReactiveX/rxjs/blob/master/src/add/operator/zip.tsここではhttps://github.com/ReactiveX/rxjs/blob/master/src/operator/zipです。ts#L13 – martin