我在我的一个项目中使用RxJava,我使用Android Studio插件将我的一个类转换为Kotlin,并在一个map flatMap
lambda(java中的Func1)中,中间件返回如下所示@Func1
.
我不知道这是什么意思.
something.flatMap(Func1<ArticleCriteria, Observable<Pair<String, String>>> {
val isTemporaryClone = it.isATemporaryClone
val isTheOriginalToken = it.tokenIsOriginalHere
if (isTemporaryClone) {
if (!isTheOriginalToken) {
return@Func1 paramsError("Token is always original for temp articles")
}
return@Func1 mJobRunner.doNotRun(DeleteArticleJob.TAG)
.doOnNext(deletePersonalActionById(articleId))
}
runArticleJobAsync(DeleteArticleJob.TAG, it)
})
Run Code Online (Sandbox Code Playgroud) 看起来lambda的最后一行总是返回该值,即使你省略了该return
语句.它是否正确?是否记录在任何地方?
fun main(args: Array<String>) {
val nums = arrayOf(1, 2, 3)
val numsPlusOne = nums.map { it ->
val r = it + 1
r
}
// numsPlusOne = [2, 3, 4]
}
Run Code Online (Sandbox Code Playgroud)