使用 RXSwift Single Trait 的调用中的额外参数 'onError'
Extra argument 'onError' in call using RXSwift Single Trait
我在使用 RXSwift 时遇到一个非常奇怪的错误。我正在调用一个单一特征的服务,当我只是打印错误时,我的代码编译没有问题,但如果我尝试在 "onError" 中做其他事情,代码就不会编译。有人有同样的问题吗?
未编译的代码段:
NetworkManager.shared.authorizeService(with: parameters)
.subscribe(onSuccess: { [weak self] status in
}, onError: { [weak self] error in
paymentAuthorizationFinishedWithError.onNext(APIResponseError.paymentAlreadyInProgress)
}).disposed(by: bag)
编译的代码:
NetworkManager.shared.authorizeService(with: parameters)
.subscribe(onSuccess: { [weak self] status in
}, onError: { [weak self] error in
print(error)
}).disposed(by: bag)
Swift 编译器有时会很慢。特别是涉及到 Rx 时。问题出在这一行
self.paymentAuthorizationFinishedWithError.onNext(APIResponseError.paymentAlreadyInProgress)
您忘记添加 ?
因为您使用的是 weak
参考:
self?.paymentAuthorizationFinishedWithError.onNext(APIResponseError.paymentAlreadyInProgress)
我在使用 RXSwift 时遇到一个非常奇怪的错误。我正在调用一个单一特征的服务,当我只是打印错误时,我的代码编译没有问题,但如果我尝试在 "onError" 中做其他事情,代码就不会编译。有人有同样的问题吗?
未编译的代码段:
NetworkManager.shared.authorizeService(with: parameters)
.subscribe(onSuccess: { [weak self] status in
}, onError: { [weak self] error in
paymentAuthorizationFinishedWithError.onNext(APIResponseError.paymentAlreadyInProgress)
}).disposed(by: bag)
编译的代码:
NetworkManager.shared.authorizeService(with: parameters)
.subscribe(onSuccess: { [weak self] status in
}, onError: { [weak self] error in
print(error)
}).disposed(by: bag)
Swift 编译器有时会很慢。特别是涉及到 Rx 时。问题出在这一行
self.paymentAuthorizationFinishedWithError.onNext(APIResponseError.paymentAlreadyInProgress)
您忘记添加 ?
因为您使用的是 weak
参考:
self?.paymentAuthorizationFinishedWithError.onNext(APIResponseError.paymentAlreadyInProgress)