ios - Moya 请求未针对一个提供者启动,但适用于另一提供者

标签 ios swift rx-swift moya

我继承了一个使用 MoyaRxSwift 项目。我有一项任务是将请求从一个后端移动到另一个后端。两个后端都有它们的 TargetType 设置得很好,因为它们在其他地方被广泛使用。

原始请求如下所示:

return accessProvider.rx
    .request(request)
    .asObservable()
    .debug()
    .flatMapLatest({ [weak self] (response) -> Observable<Bool> in
        //does some processing of the JSON
        return just(true)
    })
    .catchError({ (error) -> Observable<Bool> in
        return just(false)
    })

这返回得很好,我得到了数据。

我的新请求完全相同,但唯一的区别是提供者和请求使用的是第二个 TargetType。对于这一个,请求永远不会发生(与 Charles 确认)。我已经检查了 TargetType,它看起来很好并且执行非 Rx Moya 请求工作正常,我订阅它的 Rx 请求也是如此。

为什么它不能使用 flatMapLatest?

我是 Rx 的新手,也是 Moya 的新手,所以非常感谢任何帮助。

编辑: 第一个提供程序的调试消息:

Refresh token -> subscribed
Refresh token -> subscribed
Refresh token -> Event next(Status Code: 200, Data Length: 773)

第二个:

Refresh token -> subscribed

没有别的

最佳答案

确保您保留提供者或它在某处持有的依赖链。我在 past 中遇到保留问题.

关于ios - Moya 请求未针对一个提供者启动,但适用于另一提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49770128/

相关文章:

ios - RxCocoa-observable 正在从 API 发出新数据,但 tableview.rx.items 不显示新数据

swift - 如何在 Reactive Extensions 中组合两个 observables 以便对结果进行分页?

ios - 使用 swift 3 中的计时器自动更改 UIPageViewController 中的页面?

ios - Swift ios 不确定如何连接或使用嵌入式 UIPageViewController

ios - 获取 UIButton 按下的内容

ios - 是否可以在 init() 之外使用 JSONDecoder() 来更新对象的属性?

ios - UILabel 字体大小大于标签高度

swift - NSObject 类符合 Swift 中 NSArray 中包含的协议(protocol)

ios - 无法按照通过 Parse.com 使用 createdAt 创建的对象的顺序获取对象 - Swift 1.2 - Xcode 6.4

swift - RxSwift 异步请求设计