码迷,mamicode.com
首页 > 其他好文 > 详细

Kotlin有点用力过猛了

时间:2015-12-04 20:13:46      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

public fun readBlogHtml(blog: String) : Observable<String> {
    return Observable.just(blog)
                    .map{ blog -> assembleUrl(blog) }
                    .flatMap { url -> readHtml(url) }
}

搞得我有点迷乱……

 

而且其实flatMap是不需要的,因为Kotlin读网页源码就一句话……

public fun readHtml(url: String) : Observable<String> {
    return Observable.create<String> {
        subscriber -> subscriber.onNext(URL(url).readText()); subscriber.onCompleted()
    }
}

 

还不如不用Observable……

 

于是就进一步变成了这样:

public fun readBlogHtml(blog: String) : Observable<String> = Observable.just(blog)
                    .map { blog -> assembleUrl(blog) }
                    .map { url -> readHtml(url) }

private fun assembleUrl(blog: String?): String = "http://$blog.tumblr.com/page/"

public fun readHtml(url: String) : String = URL(url).readText()

 

这代码还要不要写了?

啊?

 

RxJava都不用了……

 

可以变成这样:

fun test() {
    async {
        val html = readBlogHtml("blog")
        uiThread { update(html) }
    }
}

public fun readBlogHtml(blog: String) : String = readHtml(assembleUrl(blog))

private fun assembleUrl(blog: String?): String = "http://$blog.tumblr.com/page/"

public fun readHtml(url: String) : String = URL(url).readText()

 

啊??

Kotlin有点用力过猛了

标签:

原文地址:http://www.cnblogs.com/chihane/p/5020109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!