首页 > 解决方案 > 将多个请求合并为一个。将 observable 数组转换为数组的 observable

问题描述

我正在为我的 collectionView 中的每个部分执行多个请求。

这个想法是将它们连接到一个 Observable<[FeedSection]> 中,这样我就可以将它绑定到 collectionView 部分。

现在我有一系列可观察的,我不知道如何转换它。想法?

所以我正在研究这样的事情:[Observable<FeedSection>] -> Observable<[FeedSection]>

代码:

let feedObservable = [flickrProvider.rx.request(.kittens),
                      flickrProvider.rx.request(.dogs),
                      flickrProvider.rx.request(.publicFeed)].map { 
                          $0.map(Feed.self).asObservable()
}

标签: iosswiftobservablerx-swiftrxdatasources

解决方案


你可以做 :

let feedObservable = [flickrProvider.rx.request(.kittens),
                      flickrProvider.rx.request(.dogs),
                      flickrProvider.rx.request(.publicFeed)]
let zipped = Observable.zip(feedObservable).map { kittens, dogs, public in 
    return [kittens, dogs, public]
}

推荐阅读