Swift3 RxAlamofire post多部分数据
如何使用RxAlamofire发送多部分数据 例如在Swift3 RxAlamofire post多部分数据,swift3,alamofire,reactive-programming,rx-swift,rxalamofire,Swift3,Alamofire,Reactive Programming,Rx Swift,Rxalamofire,如何使用RxAlamofire发送多部分数据 例如在 如何获得与相同的行为/功能? 或将此函数包装为可观察函数的方法? 您可以像这样轻松地包装该函数: func wrapper() -> Observable<SomeResponseType> { return Observable.create { observer in let URL = try! URLRequest(url: "http://example.com", method: .po
您可以像这样轻松地包装该函数:
func wrapper() -> Observable<SomeResponseType> {
return Observable.create { observer in
let URL = try! URLRequest(url: "http://example.com", method: .post)
Alamofire.upload(
multipartFormData: { formData in
// multiaprt
},
with: URL,
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
// convert response in something of SomeResponseType
// ...
observer.onNext(response)
observer.onCompleted()
}
case .failure(let encodingError):
observer.onError(encodingError)
}
})
return Disposables.create()
}
}
func包装器()->可观察{
返回可观察的。在中创建{observer
让URL=try!URLRequest(URL:http://example.com,方法:。post)
阿拉莫菲尔上传(
multipartFormData:{formData in
//多APRT
},
使用:URL,
encodingCompletion:{encodingResult in
开关编码结果{
成功案例(让我们上传,,u):
upload.responseJSON{中的响应
//将响应转换为SomeResponseType中的某个内容
// ...
onNext观察员(答复)
observer.onCompleted()
}
案例失败(let encodingError):
observer.onError(编码错误)
}
})
返回一次性物品。创建()
}
}
func wrapper() -> Observable<SomeResponseType> {
return Observable.create { observer in
let URL = try! URLRequest(url: "http://example.com", method: .post)
Alamofire.upload(
multipartFormData: { formData in
// multiaprt
},
with: URL,
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
// convert response in something of SomeResponseType
// ...
observer.onNext(response)
observer.onCompleted()
}
case .failure(let encodingError):
observer.onError(encodingError)
}
})
return Disposables.create()
}
}