Giriş
fromArray(), fromIterable() gibidir.
Örnek
Eğer birden fazla observer varsa "stream has already been operated upon or closed" hatası alırız
Bu hatayı görmek için şöyle yaparız
List<String> list = Arrays.asList("vins", "guru");Flux<String> stringFlux = Flux.fromStream(list.stream()).map(String::toUpperCase);//observer-1stringFlux.map(String::length).subscribe(i -> System.out.println("Observer-1 :: " + i));//observer-2stringFlux.subscribe(i -> System.out.println("Observer-2 :: " + i));
Hatayı düzeltmek için Supplier<Stream> kullanılır. Şöyle yaparız
Flux.fromStream(() -> list.stream()) .map(String::toUpperCase);
Şöyle yaparız
fun getFileDetail(name: String): Mono<FileDetail> {return Flux.fromStream(provideStream()).filter { path ->path.fileName.toString() == name}.map { path ->val size = FileChannel.open(path).size()val fileName = path.fileName.toString()FileDetail(fileName, size)}.toMono()}
Hiç yorum yok:
Yorum Gönder