我想为列表中的每一项调用API,当收到的响应有期望时,result将返回并终止循环。
我当前的代码:
Observable.from(riffInPlayerSubscription)
.flatMap { item ->
API.getAccessCheck(accessToken, item.itemId)
}.flatMap { itemAccessResponse ->
if (!itemAccessResponse.isExpired()) {
credentialStore.hasActiveSubscription = true
return@flatMap Observable.just(true)
}
}但它会对所有项目进行循环,并且不会终止。
发布于 2021-04-23 17:06:43
使用skipWhile和take
Observable.from(riffInPlayerSubscription)
.flatMap { item ->
API.getAccessCheck(accessToken, item.itemId)
}
.skipWhile { it.isExpired() }
.take(1)
.map {
credentialStore.hasActiveSubscription = true
true
}https://stackoverflow.com/questions/67226237
复制相似问题