【发布时间】:2019-08-19 11:23:48
【问题描述】:
学习 RxSwift - 这是我的问题:
我有一个使用活动访问令牌获取数据的网络服务,每当令牌过期时,首先调用令牌生成 api,然后调用当前请求再次运行。这样它就会有一个有效的访问令牌来访问有效的结果。
但我在获取令牌响应然后调用上一个时遇到问题。请求?
所以我尝试添加一个 observable 请求,然后作为响应检查令牌是否无效,然后调用另一个 observable 以返回一个活动令牌,一旦收到令牌,再次调用旧请求。
func apirequest(_ urlConvertible:URLRequestConvertible) -> Observable<[String:AnyObject]> {
return Observable.create({ observer -> Disposable in
let _ = Alamofire.request(urlConvertible).responseJSON
{ response in
if isTokenExpired() {
self.generateToken().subscribe(onNext: response {
self.apirequest(oldRequest)
})
}
}
return Disposables.create()
})
}
我期待任何 Rx 操作员或任何想法尝试?
谢谢
【问题讨论】: