Wie erstellen Sie Beobachten von der Funktion?

Möchte ich eine Funktion aufrufen (synchron) und dann mit dessen Rückgabewert als eine erste emission (anschließend Verkettung einigen anderen Anbietern, die daraus resultierenden messbaren).

Ich soll zum aufrufen dieser Funktion im Abonnement, ich kann also nicht einfach verwenden Observable.of(() => getSomeValue()). Ich habe gesehen bindCallback (bisher fromCallback), aber ich glaube nicht, dass es verwendet werden kann für diese Aufgabe (korrigiert mich wenn ich falsch Liege). Ich habe gesehen start statische operator in v4 docs, aber anscheinend ist es nicht implementiert v5 (und kein Hinweis darauf, dass Ihr auf dem Weg). RxJava hat auch fromCallable Betreiber, was genau das macht, soweit ich weiß.

Einzige Art, wie ich denken konnte, wie diese:

Observable.create((observer: Observer<void>) => {
  let val = getSomeValue();
  observer.next(val);
  observer.complete();
})

denen ich denke, dass genau das tut. Aber dies scheint nur so kompliziert für eine so einfache Sache, das sollte wohl auch so gewesen sein Observable.fromFunction(() => getSomeValue()) Und was wenn ich will das es läuft asynchron, wie start Betreiber übernimmt? Wie kann ich dies in der aktuellen verion RxJS?

  • Was wollen Sie erreichen? Die Verkettung der Funktionsaufrufe?
  • ja, ich versuche, eine Funktion wie Saatgut und Kette beobachtbaren Betreiber auf das Ergebnis.
  • Blick auf flatmap mit "abonnieren". stackoverflow.com/questions/35268482/...
  • Ich denke, dass Sie noch nicht gelesen haben meine Frage genau Mein Ziel... der Funktion (die ich versuche zu starten beobachtbaren Kette mit) ist-nicht wieder eine beobachtbare, es gibt einfach zurück, gewöhnlichen Wert (sprich string), so kann ich nicht verwenden flatmap (oder jede andere Observable operator), auf die es offensichtlich.
InformationsquelleAutor Titan | 2017-01-02
Schreibe einen Kommentar