首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RXAlamofire不返回数据(错误与否)

RXAlamofire不返回数据(错误与否)
EN

Stack Overflow用户
提问于 2017-06-01 22:13:02
回答 1查看 1.2K关注 0票数 0

这是我的非反应性代码,运行得很好。

func getLatestHtml2 () {

代码语言:javascript
复制
Alamofire.request("https://www.everfest.com/fest300").responseString { response in
    print("\(response.result.isSuccess)")
    if let html = response.result.value {
        self.parseHTML(html: html)
    }
}

}

但是,当我使用此代码使其具有反应性时。

代码语言:javascript
复制
  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() }


        }
    }

打印语句中没有数据。我甚至使用了RxAlamofire,我觉得这是处理这段代码的正确方法,并且它有错误检查:

代码语言:javascript
复制
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()



    }

在任何地方都不会产生数据或错误。我需要知道我的语法是错误的,还是我关于反应性编程的想法是错误的。

我可以将其命名为.getLatestHTMLX()。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-01 23:48:34

可观察的人是懒惰的,除非他们被监视,否则他们不会做任何工作(而且当没有人观看时,他们通常会立即停止工作。)这意味着您必须订阅一个可观察的,以便它开始释放值。

另外,除非您显式地共享可观察到的内容,否则它将为每个订阅者启动一个新的请求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44317905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档