Maison > Java > Créer un flux capable de publier des événements arbitraires dans le futur

Créer un flux capable de publier des événements arbitraires dans le futur

PHPz
Libérer: 2024-02-09 11:50:24
avant
512 Les gens l'ont consulté

L'éditeur PHP Apple vous présentera un outil de développement passionnant : Flux. Flux est une architecture d'application permettant de créer des interfaces utilisateur qui se concentre sur le concept de flux de données unidirectionnel, rendant la gestion des états simple et prévisible. En créant une architecture Flux, les développeurs peuvent facilement gérer l'état de leurs applications et publier des événements arbitraires à l'avenir, permettant ainsi un développement d'applications plus flexible. La simplicité et l'extensibilité de Flux le rendent idéal pour le développement front-end moderne. Ensuite, nous verrons comment fonctionne Flux et comment l'utiliser pour créer de superbes interfaces utilisateur.

Contenu de la question

Je souhaite créer une flux personnalisée qui puisse publier des événements arbitraires dans le futur.

Par exemple :

@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?
    }
}
Copier après la connexion

J'ai vu les méthodes flux.from(...)flux.generate(...) dans les flux javadocs mais celles-ci ne semblaient pas répondre à mes besoins

Solution de contournement

J'ai fini par utiliser sinks.many()

Many<String> emitter = Sinks.many().unicast().onBackpressureBuffer();
Flux<String> flux = emitter.asFlux();
Copier après la connexion

Je peux le faire maintenant

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal