代码之家  ›  专栏  ›  技术社区  ›  denis631 Oleg

将多个请求合并为一个请求。可观测阵列

  •  0
  • denis631 Oleg  · 技术社区  · 7 年前

    我正在对collectionview中的每个部分执行多个请求。

    我们的想法是将它们连接到一个可观察的<[feedsection]>中,以便将其绑定到collectionview部分。

    现在我有一个可观测的数组,我不知道如何转换它。思想?

    所以我这样调查smth: [Observable<FeedSection>] -> Observable<[FeedSection]>

    代码:

    let feedObservable = [flickrProvider.rx.request(.kittens),
                          flickrProvider.rx.request(.dogs),
                          flickrProvider.rx.request(.publicFeed)].map { 
                              $0.map(Feed.self).asObservable()
    }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   CZ54    7 年前

    你可以做到:

    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]
    }