Heim  >  Artikel  >  Erstellen Sie einen Flux, der in Zukunft beliebige Ereignisse veröffentlichen kann

Erstellen Sie einen Flux, der in Zukunft beliebige Ereignisse veröffentlichen kann

PHPz
PHPznach vorne
2024-02-09 11:50:24497Durchsuche

PHP-Editor Apple stellt Ihnen ein spannendes Entwicklungstool vor – Flux. Flux ist eine Anwendungsarchitektur zum Erstellen von Benutzeroberflächen, die sich auf das Konzept des unidirektionalen Datenflusses konzentriert und die Zustandsverwaltung einfach und vorhersehbar macht. Durch die Erstellung einer Flux-Architektur können Entwickler den Status ihrer Anwendungen einfach verwalten und in Zukunft beliebige Ereignisse veröffentlichen, was eine flexiblere Anwendungsentwicklung ermöglicht. Die Einfachheit und Erweiterbarkeit von Flux machen es ideal für die moderne Front-End-Entwicklung. Als Nächstes befassen wir uns mit der Funktionsweise von Flux und wie man damit großartige Benutzeroberflächen erstellt.

Frageninhalt

Ich möchte eine benutzerdefinierte flux erstellen, die in Zukunft beliebige Ereignisse veröffentlichen kann.

Zum Beispiel:

@RestController
public class EventController {
    @GetMapping(path = "/event/stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
    public Flux<String> eventStream() {
       // how to create a flux here which I can publish arbitrary events to in future?
    }
}

Ich habe die flux.from(...)flux.generate(...) Methoden in den Flux-Javadocs gesehen, aber sie schienen meinen Anforderungen nicht zu entsprechen

Problemumgehung

Am Ende habe ich sinks.many()

verwendet
Many<String> emitter = Sinks.many().unicast().onBackpressureBuffer();
Flux<String> flux = emitter.asFlux();

Ich kann es jetzt tun

Das obige ist der detaillierte Inhalt vonErstellen Sie einen Flux, der in Zukunft beliebige Ereignisse veröffentlichen kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen