Maison  >  Article  >  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
PHPzavant
2024-02-09 11:50:24490parcourir

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

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();

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer