0
これは私の非反応性コードです。RXAlamofireがデータを返さない(エラーであるかどうか)
FUNC getLatestHtml2(){
Alamofire.request("https://www.everfest.com/fest300").responseString { response in
print("\(response.result.isSuccess)")
if let html = response.result.value {
self.parseHTML(html: html)
}
}
}
しかし、私はこのコードを使用して、それが反応する場合。
func getLatestHtml1() -> Observable<String> {
return Observable<String>.create { (observer) -> Disposable in
let request = Alamofire
.request("https://www.everfest.com/fest300")
.responseString { response in
print(response.result.value)
observer.onNext(response.result.value!)
observer.onCompleted()
}
return Disposables.create { request.cancel() }
}
}
printステートメントにデータがありません。どこにもデータやエラーを生じなかっ
func getLatestHtml() -> Observable<String?> {
return RxAlamofire
.requestData(.get,"https://web.archive.org/web/20170429080421/https://www.everfest.com/fest300")
.debug()
.catchError { error in
print(error)
return Observable.never()
}
.map { (response, value) in
print(response.statusCode)
guard response.statusCode == 200 else { return nil }
print(value)
return String(data: value, encoding: String.Encoding.utf8)
}
.asObservable()
}
:私も、私はこのコードの正しい方法であり、それはエラーチェックを持っている感じRxAlamofireを、使用していました。私の構文が間違っているのか、あるいは反応プログラミングに関する考えが間違っているかを知る必要があります。
私はこれを.getLatestHTMLX()と呼びます。ありがとう!
ありがとうございました。ビューにバインドしたら、正しく動作しました。説明ありがとう。 –