【发布时间】:2017-07-31 06:15:28
【问题描述】:
我正在使用 Facebook 对用户进行身份验证。这个过程是异步发生的。完成后,我必须通过 firebase 对用户进行身份验证,这会发生异步。即使我使用的是 RxSwift,我最终还是嵌套了异步任务,就像我要使用回调并最终陷入回调地狱一样。
我目前的程序似乎不正确。也有点难读。是我还是有更优雅的方法来处理多个异步网络调用。
对于这个例子,我去掉了错误事件,因为它使代码更不可读。
感谢任何提示或指导。
func rx_login(viewController: UIViewController) {
/// Facebook login
rx_facebookLogin(viewController: viewController)
.asObservable()
.subscribe(onNext: { [weak self] (credentials: AuthCredential, userInfo: [String: Any]) in
/// Firebase Login
rx_firebaseLogin(with: credentials)
.asObservable()
.subscribe(onNext: { [weak self] (uid) in
/// TODO: Save user info firebase db
}).addDisposableTo(disposeBag)
}).addDisposableTo(disposeBag)
【问题讨论】:
标签: ios swift asynchronous rx-swift