Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin RxJava逐个调用循环中的API,如果任何API响应都有期望的结果,则终止循环_Kotlin_Rx Java2 - Fatal编程技术网

Kotlin RxJava逐个调用循环中的API,如果任何API响应都有期望的结果,则终止循环

Kotlin RxJava逐个调用循环中的API,如果任何API响应都有期望的结果,则终止循环,kotlin,rx-java2,Kotlin,Rx Java2,我想为列表中的每个项目调用API,当收到响应时,结果将返回并终止循环 我当前的代码: Observable.from(riffInPlayerSubscription) .flatMap { item -> API.getAccessCheck(accessToken, item.itemId) }.flatMap { itemAccessResponse -> if (!itemAccessRespo

我想为列表中的每个项目调用API,当收到响应时,结果将返回并终止循环

我当前的代码:

Observable.from(riffInPlayerSubscription)
.flatMap { item ->
   API.getAccessCheck(accessToken, item.itemId)
 }.flatMap { itemAccessResponse ->

                                    if (!itemAccessResponse.isExpired()) {
                                        credentialStore.hasActiveSubscription = true
                                        return@flatMap Observable.just(true)
                                    }
                         
}

但它对所有项目都进行循环,并且不会终止。

使用
skipWhile
take

Observable.from(riffInPlayerSubscription)
.flatMap{item->
API.getAccessCheck(accessToken,item.itemId)
}
.skipWhile{it.isExpired()}
.采取(1)
.map{
credentialStore.hasActiveSubscription=true
真的
}

使用
skipWhile
take

Observable.from(riffInPlayerSubscription)
.flatMap{item->
API.getAccessCheck(accessToken,item.itemId)
}
.skipWhile{it.isExpired()}
.采取(1)
.map{
credentialStore.hasActiveSubscription=true
真的
}