Swift [结果]:失败(Alamofire.AFError.explicitlyCancelled)
我正在和阿拉莫菲尔通信。 执行登录部分时不会发生错误,但此错误发生在注册部分,但应用程序不会关闭。 如何做到:(Swift [结果]:失败(Alamofire.AFError.explicitlyCancelled),swift,networking,alamofire,Swift,Networking,Alamofire,我正在和阿拉莫菲尔通信。 执行登录部分时不会发生错误,但此错误发生在注册部分,但应用程序不会关闭。 如何做到:( 类DarnerAPIClient{ 静态let shared=DarnerAPIClient() func networkingResult(来自api:DarnerAPI)->可观察{ 返回Observable.create{obs in let request=AF.request(URL(字符串:api.baseURL+api.path)!, 方法:api.method!, 参
类DarnerAPIClient{
静态let shared=DarnerAPIClient()
func networkingResult(来自api:DarnerAPI)->可观察{
返回Observable.create{obs in
let request=AF.request(URL(字符串:api.baseURL+api.path)!,
方法:api.method!,
参数:api.parameter,
编码:api.encoding,
headers:api.header).responseData{response in
调试打印(响应)
开关响应。结果{
案例.成功(让数据):
做{
让DataUse:T=尝试JSONDecoder().decode(T.self,from:data)
返回obs.onNext(数据使用)
}捕捉(让错误){
返回obs.onError(错误)
}
案例。失败(let错误):
返回obs.onError(错误)
}
}
归还一次性物品。创建{
请求取消()
}
}
}
}
自我回答:
在我的网络代码中我不愿意
:(我也有同样的问题,花了一段时间才弄明白 起初,它是这样的,它不起作用
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let disposeBag = DisposeBag()
repository
.forgotPassword(email: "myemail@gmail.com")
.observe(on: MainScheduler.instance)
.subscribe(onSuccess: { (res) in
print(res)
}, onFailure: { (error) in
print(error)
}).disposed(by: disposeBag)
}
}
然后我把它改成这个,它开始工作了
class ViewController: UIViewController {
let disposeBag = DisposeBag()
override func viewDidLoad() {
super.viewDidLoad()
repository
.forgotPassword(email: "myemail@gmail.com")
.observe(on: MainScheduler.instance)
.subscribe(onSuccess: { (res) in
print(res)
}, onFailure: { (error) in
print(error)
}).disposed(by: disposeBag)
}
}
class ViewController: UIViewController {
let disposeBag = DisposeBag()
override func viewDidLoad() {
super.viewDidLoad()
repository
.forgotPassword(email: "myemail@gmail.com")
.observe(on: MainScheduler.instance)
.subscribe(onSuccess: { (res) in
print(res)
}, onFailure: { (error) in
print(error)
}).disposed(by: disposeBag)
}
}