Meine RxSwift-Zusammenfassung ③ (Was ist beobachtbar?)

Dieser Artikel stammt aus Meine RxSwift-Zusammenfassung ①, Meine RxSwift-Zusammenfassung② Es ist eine Fortsetzung.

Was ist beobachtbar?

Observable, Observable Sequence, Sequence, Stream Dies sind alle Wörter, die die gleiche Bedeutung haben und ** Ereignisfluss ** sind. (In RxSwift wird häufig "Sequenz" verwendet.)

image.png (Zitat)

*** Alles ist eine Sequenz ***.

Das Ereignis enthält hier einen numerischen Wert, eine Instanz einer von sich selbst definierten Klasse, eine Tippgeste und dergleichen.

Dieses Ereignis wird durch die folgende "Aufzählung" definiert.

Event.swift


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

Was passiert in jedem Fall? Beobachtbar (Sequenz) Wenn Sie es mit dem Marmordiagramm betrachten, das Folgendes zeigt, image.png Für "next" gibt "Observable" das nächste Ereignis aus. Es werden auch weiterhin Ereignisse ausgegeben, bis "error / complete" aufgerufen wird.

image.png Im Falle eines "Fehlers" wird "Fehler" ausgegeben, und "beobachtbar" gibt keine Ereignisse mehr aus.

image.png Wenn "abgeschlossen", stoppt "beobachtbar" und löst das Auslösen des Ereignisses aus.

Wie verarbeite ich mit Observable?

Um die von "Observable" ausgegebenen Ereignisse nutzen zu können, müssen Sie "abonnieren". (Observable gibt kein Ereignis oder keinen Prozess mit operator aus, bis es Subscribe ist.) Zu diesem Zeitpunkt kann für jeden Ereignistyp ein "Handler" hinzugefügt werden. Wenn es "next" ist, können Sie die Fehlerinstanz auch an "element" übergeben, und wenn es "error" ist, können Sie die Fehlerinstanz an "handler" übergeben.

Beispiel

Betrachten Sie das im Marmordiagramm unten gezeigte Observable

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)
}

Ausgabe


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

Wenn Sie sich anmelden, können Sie Ereignisse nacheinander behandeln. Wenn Sie es "drucken", fließt "next" dreimal wie die Ausgabe und schließlich "abgeschlossen", was bedeutet, dass "beobachtbare" Flüsse gestoppt werden.

Recommended Posts

Meine RxSwift-Zusammenfassung ③ (Was ist beobachtbar?)
Meine RxSwift-Zusammenfassung ⑤ (Was sind Themen / Relais?)
Meine RxSwift-Zusammenfassung ④ (Was ist eine Entsorgungstasche?)
Meine RxSwift-Zusammenfassung ②
Meine RxSwift-Zusammenfassung ①
Was ist Java Assertion? Zusammenfassung.
Was ist Cubby?
Was ist java
Was ist Schlüsselumhang?
Was ist Maven?
Was ist Jackson?
Was ist Selbst
Was ist Jenkins?
Was ist ArgumentMatcher?
Was ist IM-Jonglieren?
Was ist params
Was ist SLF4J?
Was ist Fassade? ??
Was ist Java <>?
Was ist Gradle?
Was ist POJO?
Was ist java
Was ist centOS?
Was ist RubyGem?
Was ist before_action?
Was ist Docker?
Was ist Byte?
Was ist Tomcat?
Was ist Maven Assembly?
Was ist Docker-Compose?
Was ist ein Konstruktor?
Was ist vue cli
Was ist eine Schnittstelle?
Was ist Rubys Selbst?
Was ist harte Codierung?
Was ist ein Stream?
Was ist Rubys attr_accessor?
Was ist Java-Kapselung?
Was ist die Erlaubnis verweigert?
Was ist Instanzsteuerung?
Was ist ein Initialisierer?
Was ist Spring Tools 4?
Was ist ein Operator?
Was ist Objektorientierung?
Was ist Guavas @VisibleForTesting?
Was ist ein MVC-Modell?
Was ist eine Anmerkung?
Was ist Java-Technologie?
Was ist Java API-Java?
Was ist @ (Instanzvariable)?
Was ist Gradles Artefakt?
Was ist JPA-Prüfung?
[Java] Was ist flatMap?
Was ist ein Servlet?
Was ist Webentwicklung?