Gibt es irgendeinen semantischen Unterschied beim paarweisen Komponieren mit zip() vs. zipWith() in RxJava? Ist die Wahl zwischen dem statischen Zip und der .zipMit rein stilistisch?Wann man zip() anstelle von zipWith() verwendet RxJava
1
A
Antwort
5
Bequemlichkeit und Kontext.
Die statische zip
ist nützlich, wenn Sie zwei Quellen bereits zusammengebaut haben und jetzt möchten Sie sie zusammen zippen. Die meiste Zeit sind sie selbst lange Ketten oder kommen von überall her.
Observable<T1> source1 = op().op().op().op().op();
Observable<T2> source2 = op().op().op().op().op();
Observable.zip(source1, source2, (a, b) -> a + b);
Die Instanz zipWith
ist nützlich, wenn eine der Quellen länger ist, während der andere kürzer ist. An diesem Punkt ist es bequemer, mit dem kürzeren zu zippen.
public Observable<R> withIndex(Observable<T> source, Func2<Integer, T, R> func) {
return source.zipWith(Observable.range(0, Integer.MAX_VALUE),
(t, idx) -> func(idx, t));
}
Verwandte Themen
- 1. Wann man goto anstelle der Kontrollstrukturverschachtelung verwendet?
- 2. Wann wird Box anstelle von Referenz verwendet?
- 3. Wann man in Ruby Methoden `self.foo` anstelle von` foo` verwendet
- 4. RxJava anstelle von AsyncTask?
- 5. RxJava - Zip-Liste von Observable
- 6. Rxjava Verwendung Zip Betreiber
- 7. Wann man ListView anstelle von RecyclerView verwenden
- 8. Wann sollte HStoreField anstelle von JSONField verwendet werden?
- 9. RxJava Zip, die auf jede Änderung von beiden Elternteilen wirkt
- 10. zipWith Funktion implementiert mit Map-und Zip-Funktionen
- 11. Wann verwendet man -e
- 12. Wann verwendet man .mdf und wann .sdf?
- 13. Alternative Wege anstelle von zip
- 14. rxjava .zip onNext() nicht ausgeführt
- 15. Wann sollte HttpApplicationState anstelle von Web.Caching.Cache verwendet werden?
- 16. Wann sollte Funktionsreferenz anstelle von Funktionszeiger in C++ verwendet werden?
- 17. Wann wird die ArrayMap von Android anstelle einer HashMap verwendet?
- 18. Wann sollte RestTemplate.exchange() anstelle von .get, .post usw. verwendet werden?
- 19. Wann sollte ImageButton anstelle von ImageView verwendet werden?
- 20. Wann sollte snd_pcm_avail anstelle von snd_pcm_avail_update verwendet werden?
- 21. Wann sollte GraphQLID anstelle von GraphQLInt verwendet werden?
- 22. Wann sollte Decimal.Round() anstelle von Math.Round() verwendet werden?
- 23. NodeJS wann man Versprechungen verwendet?
- 24. Wie man curl GET anstelle von POST verwendet
- 25. RxJava 1.x .zip() funktioniert nicht auf RxJava 2.0
- 26. Wann nicht RxJava Observable verwenden?
- 27. Wie verwendet man Datei anstelle von db?
- 28. Wann Helfer anstelle von Partials
- 29. habe keine Ahnung, wie man rxjava verwendet
- 30. Gradle sucht nach zip anstelle von jar