Je conversion du code Java pour Kotlin et je vais avoir des problèmes avec flattenAsObservable()
RxKotlin flattenAsObservable(): incompatibilité de type avec la méthode de référence
Voici ce que le code ressemblait en Java:
discogsInteractor.search(query)
.map(RootSearchResponse::getSearchResults)
.flattenAsObservable(searchResults -> searchResults)
.take(12)
Voici ce que j'ai jusqu'à présent Kotlin:
discogsInteractor.search(query)
.map { RootSearchResponse::searchResults }
.flattenAsObservable<SearchResult> { searchResults -> searchResults }
.take(12)
Il souligne la deuxième searchResults
et me donne l'erreur suivante:
Required: (Mutable)Iterable<SearchResult!>!
Found: KProperty1<RootSearchResponse, List<SearchResult>>!
Je peux remplacer
.map { RootSearchResponse::searchResults }
avec
.map { searchResponse -> searchResponse.searchResults }
et cela fonctionnera. Comment puis-je correctement référencer la méthode? Ou quelle est la raison pour laquelle je ne peux pas dans ce cas?
RootSearchResponse:
data class RootSearchResponse(val pagination: Pagination,
@SerializedName("results") val searchResults: List<SearchResult>)