【发布时间】:2019-04-16 08:14:59
【问题描述】:
我刚刚开始使用 kotlin 学习 Java 流 API,并且我正在使用 Project Reactor 和 r2dbc API。我正在编写一个简单的代码,如下所示,如果理解它是如何工作的,我将不胜感激。
我想知道t.let{} 使用return@map 返回MovieCeleb 对象的行。我想知道这条线是做什么的,即它是否创建了一个列表/地图以及它是如何做到的。
fun listAllMoviesBy(actor: String, client: DatabaseClient) {
client.execute()
.sql { "SELECT fin.id, full_name, movie_title, make_year, celeb_id, birth_date " +
"FROM featured_in fin JOIN film_celeb fc ON " +
" fin.celeb_id = fc.id WHERE fc.full_name = $1"
}.bind(0, actor).map { t, u ->
t.let {
val featuredIn = FeaturedIn(it.get("id") as Int, it.get("movie_title") as String, it.get("make_year") as Int)
val celeb = MovieCeleb(it.get("celeb_id") as Int, it.get("full_name") as String, it.get("birth_date") as LocalDate, featuredIn)
return@map celeb
}
}.all()
.subscribe{
println(it)
}
}
【问题讨论】:
标签: kotlin