簡體   English   中英

處理 RxSwift 中不相關的串行 api 調用

[英]Handle unrelated serial api calls in RxSwift

我需要從 RxSwift 中具有不同模型的多個請求中獲取響應。 我想在沒有 GCD 或 Semaphore 且僅使用RxSwift的情況下執行此操作。 我嘗試了這段代碼,但在不同模型和結果對象數量的不同響應中存在一些問題。

 Observable.zip(service.fetchAlbums(), service.fetchUsers())
.subscribe(onNext: { (albums, users) in
        print(albums)
        print(users)
    })
    .disposed(by: self.disposeBag)

以下工作正常。

import RxSwift

func example(service: Service, disposeBag: DisposeBag) {
    Observable.zip(service.fetchAlbums(), service.fetchUsers())
        .subscribe(onNext: { (albums, users) in
            print(albums)
            print(users)
        })
        .disposed(by: disposeBag)
}

protocol Service {
    func fetchAlbums() -> Observable<[Album]>
    func fetchUsers() -> Observable<[User]>
}

struct Album { }
struct User { }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM