【问题标题】:Not getting triggered on RxMoya没有在 RxMoya 上触发
【发布时间】:2021-03-25 21:59:56
【问题描述】:

谁能告诉我为什么第一个代码被触发而第二个代码没有被触发? (假设“someEndPoint”工作正常)

let provider = MoyaProvider<MyApiService>()
provider.rx.request(.someEndPoint).subscribe(onSuccess: { response in
  print("triggered")
}, onError: { error in
}).disposed(by: disposeBag)
MoyaProvider<MyApiService>().rx.request(.someEndPoint).subscribe(onSuccess: { response in
  print("not triggered")
}, onError: { error in
}).disposed(by: disposeBag)

两个代码之间的区别只是是否使用“让”。我无法在第二个代码中打印“未触发”,也看不到第二个代码的任何网络日志。我真的很想知道为什么会这样。

提前致谢。

【问题讨论】:

    标签: ios swift rx-swift moya


    【解决方案1】:

    在第一个示例中,您正在创建并保留提供程序。

    在第二个示例中,您正在创建提供程序,然后调用request,但您并没有保留提供程序,因此在发出请求后和服务器满足请求之前很久就将其释放。

    网络请求返回需要一段时间,并且提供者需要保持存在直到它返回。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多