Rumah >Java >Buat Fluks yang boleh menerbitkan acara sewenang-wenangnya pada masa hadapan

Buat Fluks yang boleh menerbitkan acara sewenang-wenangnya pada masa hadapan

PHPz
PHPzke hadapan
2024-02-09 11:50:24526semak imbas

Editor PHP Apple akan memperkenalkan anda kepada alat pembangunan yang menarik-Flux. Flux ialah seni bina aplikasi untuk membina antara muka pengguna yang memfokuskan pada konsep aliran data satu arah, menjadikan pengurusan keadaan mudah dan boleh diramal. Dengan mencipta seni bina Flux, pembangun boleh mengurus keadaan aplikasi mereka dengan mudah dan dapat menerbitkan acara sewenang-wenangnya pada masa hadapan, membolehkan pembangunan aplikasi yang lebih fleksibel. Kesederhanaan dan kebolehlanjutan Flux menjadikannya ideal untuk pembangunan bahagian hadapan moden. Seterusnya, kami akan menyelami cara Flux berfungsi dan cara menggunakannya untuk membina antara muka pengguna yang hebat.

Kandungan soalan

Saya ingin mencipta flux tersuai yang boleh menerbitkan acara sewenang-wenangnya pada masa hadapan.

Contohnya:

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

Saya melihat kaedah flux.from(...)flux.generate(...) dalam flux javadocs tetapi itu nampaknya tidak memenuhi keperluan saya

Penyelesaian

Saya akhirnya menggunakan sinks.many()

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

Saya boleh melakukannya sekarang

Atas ialah kandungan terperinci Buat Fluks yang boleh menerbitkan acara sewenang-wenangnya pada masa hadapan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam