Alors, voici mon code:analyse syntaxique d'une liste Rx Java Realmlist
@Override
public RealmList<RealmStuff> call(List<Stuff> stuff) {
return Observable.from(stuff)
.map(this::getRealmStuff)
.toList()
.toBlocking()
.first();
}
Ce qui est bien. Cependant, je veux obtenir un RealmList. Comment puis-je y parvenir? Est-ce que je devrais aller avec un flatmap et juste aller avec un oldschool pour chacun et ajouter l'article un par un au nouveau RealmList?
Peut-être quelque chose comme ceci:
.map(realmStuff -> new RealmList<>(realmStuff.toArray(new RealStuff[realmStuff.size()])))
Mais cela semble fou pour moi ... Ou est-ce juste moi?
Eh bien, si le but de la méthode est simplement de convertir 'List' en' RealmList', je ne vois aucun avantage à utiliser l'approche réactive. – Lamorak
Habituellement, lorsque vous utilisez Rx, vous passez dans Observable à travers toute la chaîne pour bénéficier de la nature asynchrone et orientée push. Si tout ce que vous voulez faire est d'effectuer des calculs en série ou en parallèle, vous pouvez consulter [Java 8 Streams] (http://www.oracle.com/technetwork/articles/java/ma14-java-se-8-streams-2177646). html). – andreim
RxJava n'est pas un Api de flux, il ne devrait pas être utilisé comme ça. Règle de base: si vous utilisez toBlocking() dans la chaîne rx, vous faites probablement quelque chose de mal. – Than