Mon résumé RxSwift ③ (Qu'est-ce qui est observable?)

Cet article provient de My RxSwift Summary ①, My RxSwift Summary② C'est une continuation.

Qu'est-ce qu'observable?

ʻObservable, ʻObservable sequence, sequence, stream Ce sont tous des mots qui ont la même signification et qui sont ** flux d'événements **. (Dans RxSwift, «séquence» est souvent utilisé)

image.png (Citation)

*** Tout est une séquence ***.

L'événement comprend ici une valeur numérique, une instance d'une classe définie par elle-même, un geste de tapotement, etc.

Cet événement est défini par ʻEnum` ci-dessous.

Event.swift


public enum Event<Element> {
    case next(Element)
    case error(Error)
    case completed
}

Que se passe-t-il dans chaque cas, ʻObservable (séquence)Si vous le regardez avec le diagramme en marbre qui montre ce qui suit, ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/595260/cba274d6-319e-2902-494c-adc3ce7d3cf7.png) Dans le cas denext, ʻObservable émet l'événement suivant. Il continue également d'émettre des événements jusqu'à ce que ʻerror / completed` soit appelé.

image.png En cas d '«erreur», «Erreur» est émise et «observable» arrête l'émission de l'événement.

image.png Dans le cas de «terminé», «observable» est arrêté et l'événement est arrêté.

Comment traiter avec Observable?

ʻSubscribe est requis pour utiliser les événements émis par Observable. (ʻObservable n'émet pas d'événement ou de processus avec ʻoperator jusqu'à ce qu'il soit S'abonner) À ce stade, un «gestionnaire» peut être ajouté pour chaque type d'événement. De plus, s'il s'agit de «next», l'instance d'erreur peut être transmise au «handler» si c'est «Element», «error ».

Exemple

Considérez l'Observable montré dans le diagramme de marbre ci-dessous

image.png

Example.swift


let one = "1"
let two = "2"
let three = "3"

let observable = Observable.of(one, two, three)
observable.subscribe { event in
  print(event)
}

production


next(1)
next(2)
next(3)
completed

Si vous vous abonnez, vous pourrez gérer les événements en séquence. Lorsque vous «l'imprimez», «next» s'écoule 3 fois comme la sortie, et enfin «terminé» ce qui signifie l'arrêt des flux «observables».

Recommended Posts

Mon résumé RxSwift ③ (Qu'est-ce qui est observable?)
Mon résumé RxSwift ⑤ (Qu'est-ce que les sujets / relais?)
Résumé de mon RxSwift ④ (Qu'est-ce qu'un sac d'élimination?)
Mon résumé RxSwift ②
Mon résumé RxSwift ①
Qu'est-ce que l'assertion Java? Résumé.
Qu'est-ce que Cubby
Qu'est-ce que 'java
Qu'est-ce que Keycloak
Qu'est-ce que maven?
Qu'est-ce que Jackson?
Qu'est-ce que soi
Qu'est-ce que Jenkins
Qu'est-ce que ArgumentMatcher?
Qu'est-ce que IM-Juggling?
Qu'est-ce que les paramètres
Qu'est-ce que SLF4J?
Qu'est-ce que la façade? ??
Qu'est-ce que Java <>?
Qu'est-ce que Gradle?
Qu'est-ce que POJO
Qu'est-ce que 'java
Qu'est-ce que centOS
Qu'est-ce que RubyGem?
Qu'est-ce que before_action?
Qu'est-ce que Docker
Qu'est-ce que Byte?
Qu'est-ce que Tomcat
Qu'est-ce que l'assemblage Maven?
Qu'est-ce que `docker-compose up`?
Qu'est-ce qu'un constructeur
Qu'est-ce que vue cli
Qu'est-ce qu'une interface
Qu'est-ce que le moi de Ruby?
Qu'est-ce que le codage en dur?
Qu'est-ce qu'un flux
Qu'est-ce que l'attr_accessor de Ruby?
Qu'est-ce que l'encapsulation Java?
Qu'est-ce qu'une permission refusée?
Qu'est-ce que le contrôle d'instance?
Qu'est-ce qu'un initialiseur?
Qu'est-ce que Spring Tools 4
Qu'est-ce qu'un opérateur?
Qu'est-ce que l'orientation objet?
Qu'est-ce que le @VisibleForTesting de Guava?
Qu'est-ce qu'un modèle MVC?
Qu'est-ce qu'une annotation?
Qu'est-ce que la technologie Java?
Qu'est-ce que Java API-java
Qu'est-ce que @ (variable d'instance)?
Qu'est-ce que l'artefact de Gradle?
Qu'est-ce que l'audit JPA?
[Java] Qu'est-ce que flatMap?
Qu'est-ce qu'un servlet?
Qu'est-ce que le développement Web?