Die Geschichte von RxJava, das unter NoSuchElementException leidet

Wenn flatMapSingle () beim Verbinden von Flowable oder Maybe mit Single verwendet wird, kann eine NoSuchElementException auftreten.

Wenn Sie eine Single mit einem Stream verbinden, in dem Complete fließen kann, kann Complete, wenn Complete tatsächlich fließt, nicht von Single verarbeitet werden. Eine Ausnahme wird ausgelöst, und die Anwendung stirbt unverändert. Normalerweise kann RxJava Flowable gut mit Single verbinden. Erstens kann ich Single nicht mit Completable verbinden. FlatMapSingle () stellt jedoch problemlos eine Verbindung her, sodass Sie stattdessen flatMapSingleElement () verwenden müssen. Es gibt keine Kompilierungsfehler, keine Fehlerprotokolle, keine IDE-Warnungen, aber wir müssen uns bewusst sein, dass wir etwas Seltsames tun.

Beiseite

Wenn Sie einen Prozess schreiben, der asynchrone Prozesse mit flatMap verbindet und verbindet, werden Sie das Gefühl haben, dass Rx eine Monade von asynchronen Prozessen ist, und es gibt einen Vorteil, dass Sie das Gefühl haben, den Funktionstyp vollständig zu verstehen. Im Gegenteil, wenn ich flatMap oder andThen verwende, frage ich mich, ob ich die Monade damit als Hinweis verstehen kann ... Ich hoffe ...

Recommended Posts

Die Geschichte von RxJava, das unter NoSuchElementException leidet
Die Geschichte der Erhöhung von Spring Boot von 1.5 auf 2.1 Serie Teil2
[Java Edition] Geschichte der Serialisierung
Die Geschichte von @ViewScoped, die Speicher verschlingt
[Herausforderung CircleCI von 0] Lernen Sie die Grundlagen von CircleCI
Die Geschichte der Aktualisierung des Docker-Containers von Sonar Qube
Die Geschichte des Schreibens von Java in Emacs
Finden Sie den Unterschied von einem Vielfachen von 10
Die Geschichte des Wechsels von Amazon RDS für MySQL zu Amazon Aurora Serverless
Die Geschichte des Erwerbs von Java Silver in zwei Monaten von völlig unerfahrenen.
Hat sich der Inhalt von useBodyEncodingForURI von Tomcat8 geändert?
Die Geschichte des einfachen String-Vergleichs in Java
Die Geschichte eines gewöhnlichen Othello in Java
Die Geschichte des Lernens von Java in der ersten Programmierung
Eine Geschichte darüber, wie eine vorhandene Docker-Datei mit der GPU kompatibel gemacht werden kann
Die Geschichte der Optimierung der Android-App mit libGDX
Die Geschichte des Hinzufügens der neuesten Node.js zu DockerFile
Die Geschichte der Initialisierung von Money :: Currency während des Testens
ArrayList und die Rolle der Schnittstelle aus List
Band 3 Arten von Docker Compose aus dem Zweck betrachtet
Wie schreibe ich Scala aus der Perspektive von Java
Über die Nützlichkeit von Monaden aus einer objektorientierten Perspektive
Die Geschichte, einen Reverse-Proxy mit ProxyServlet zu erstellen
Die Geschichte einer illegalen staatlichen Ausnahme in Jetty.
Extrahieren Sie ein bestimmtes Element aus der Liste der Objekte
Eine Aufzeichnung über das Studium des Spring Framework von Grund auf neu
Die Geschichte, Dr. Orchid mit LINE BOT zu machen
Die Geschichte von dto, dao-like mit Java, SQLite
Die Welt der Clara-Regeln (2)
Beurteilung des Kalenders
Die Welt der Clara-Regeln (4)
Die Welt der Clara-Regeln (3)
Die Welt der Clara-Regeln (5)
Die Idee der schnellen Sortierung
Die Idee von jQuery
Kommen Sie zu den Abkürzungen aus den fünf Beispielen für kursive Java-Listen
20190803_Java & k8s on Azure Die Geschichte vom Festivalbesuch
So erhalten Sie die längsten Informationen von Twitter ab dem 12.12.2016
Aus der Gewohnheit, Wertobjekte für ein objektorientiertes Verständnis zu schaffen
[Zusammenfassung der technischen Bücher] Zusammenfassung der Lektüre "Lernen Sie Docker aus den Grundlagen"
Aggregieren Sie die Anzahl der Personen alle 10 Jahre aus Liste <Person>
Die Geschichte, Java mithilfe der BitBucket-Pipeline nach Heroku zu bringen
[Java] Löschen Sie die angegebene Anzahl von Zeichen am Ende von StringBuilder
[Apache Tomcat] Die Geschichte der Verwendung von Apache OpenWebBeans zum Aktivieren von CDI
27 Jahre alt Geschichte, Entwicklungsingenieur aus unerfahrener Programmierung zu werden