Si flatMapSingle () est utilisé lors de la connexion Flowable ou Maybe à Single, NoSuchElementException peut se produire.
Lors de la connexion d'un Single à un flux où Complete peut s'écouler, si Complete s'écoule réellement, il ne peut pas être traité par Single et une exception volera, et l'application mourra telle quelle. Normalement, RxJava fait un bon travail de connexion de Flowable à Single. En premier lieu, je ne peux pas connecter Single à Completable. Cependant, flatMapSingle () se connectera sans aucun problème, vous devez donc utiliser flatMapSingleElement () à la place. Il n'y a pas d'erreurs de compilation, pas de journaux d'erreurs, pas d'avertissements IDE, mais nous devons être conscients que nous faisons quelque chose de bizarre.
Si vous écrivez un processus qui connecte des processus asynchrones avec flatMap et les connecte, vous sentirez que Rx est une monade de processus asynchrones, et il y a un mérite que vous ressentirez que vous comprenez parfaitement le type fonctionnel. Au contraire, en utilisant flatMap ou andThen, je me demande si je peux comprendre la monade avec ça comme indice ... j'espère ...
Recommended Posts