Observable<[number, Array<DataItem>]>
のようなものを返す関数があります。 chunk
(ページサイズに従ってDataItem配列をチャンク)とチャンクDataItem配列を持つPageWithDataItemsを作成する単純なコンストラクタを指定すると、Observable関数を使用してObservable<[number, Array<PageWithDataItems>]
を返す関数を書くことは可能ですか? 私が持っているのは、Observable<[number, Array<DataItem>]>
に登録して新しいObservableを作成するコードですが、map, mapTo, switchMap
などと同じことをすることができると期待しています。私はObservableのすべての機能で少し失われているので、どんな助け?チャンクされた配列を返す観測可能な関数
0
A
答えて
1
私はあなたがここのために行くされているものを全くわからないが、私はそれに打撃を与えた:
// stream would be your data... just random chunks of numbers as an example here.
const stream = Rx.Observable.range(0, 480).bufferWithCount(100).select(d => [Math.random() * 100, d]);
class DataChunk<T> {
constructor(public data: Array<T>) { }
}
const pageSize = 10;
stream
// I do not understand what the 'number' in your [number, Array<DataItem>]
// represents. But it is the 'someNumber' item here..
.map(d => ({someNumber: <number>d[0], data: <number[]>d[1]}))
.map(d => ({
someNumber: d.someNumber,
pages: Ix.Enumerable
.fromArray(d.data)
.select((item, idx) => ({ pageNr : idx % pageSize, item: item }))
.groupBy(i => i.pageNr)
.select(pageItems => new DataChunk(pageItems.select(i => i.item).toArray()))
.toArray()
}))
.subscribe(dataInfo => {
// here each dataInfo sent down the stream will have been split up in to chunks
// of pageSize
log('Data recieved: ');
log(' someNumber: ' + dataInfo.someNumber);
log(' page count: ' + dataInfo.pages.length);
});
jsfiddle上の例での作業します。
私は、チャンクを行うのにIxJSを使用しました。これはRxJSと同様に機能しますが、コレクション(配列など)で動作し、RxJSのようなevensのストリームでは動作しません。これがあなたが望むものに近いことを望みます。あなたの質問は完全にはっきりしていません。
関連する問題
- 1. 観測可能なデータを観測可能な配列にプッシュノックアウト
- 2. ノックアウト観察可能な観測可能な配列の配列
- 3. 観測可能な配列内のノックアウト観測可能なオブジェクト
- 4. 観測可能な配列から計算された観測可能な配列
- 5. KnockoutJS - 観測可能なオブジェクトの観測可能配列
- 6. 返さ観測可能
- 7. observableオブジェクトバインディングの観測可能な配列
- 8. angular - rxjs観測可能な配列
- 9. 角度4 - 観測可能/配列または観測可能/件名
- 10. 観測可能な配列を配列に戻す
- 11. RxJS観測可能な戻り配列、各配列の繰り返しで別の関数を実行
- 12. ko.mapping.toJSネストされた観測可能な配列を無視しない
- 13. Listr:配列マップで観測可能
- 14. 非配列タイプで観測可能
- 15. 配列に観測可能なRxJs配列
- 16. ディザコピー可観測配列ノックアウト
- 17. SAS観測で正しい観測数が返されない
- 18. rxSwift観測可能な依存関係
- 19. UIが観測可能な配列を検出しない
- 20. Knockout.js JSONを観測可能な配列にマッピングする
- 21. Angular2で観測可能な配列を平らにする
- 22. ノックアウト観測可能な配列を拡張する
- 23. 観測可能な配列に.joinを追加する
- 24. Angular2が観測可能な配列サイズを取得する
- 25. ノックアウト:観測可能な配列のゼロを検索する
- 26. 観測可能な配列がノックアウトのUIに反映されない
- 27. Mobx:観測可能な配列が正しく表示されない
- 28. プロミスベース関数を観測可能ベース関数に変換する
- 29. 複数の観測可能な要素が返されるのを待つ
- 30. 観測可能
既にコードを投稿してもらえますか?私はあなたが使用している表記法で100%ではありません。 – paulpdaniels