Я запускаю демонстрацию локально с angular и webflux, поражающим конечную точку webflux, которая возвращает 3 фотографии размером ~ (20 МБ, 1 КБ, 20 МБ) из db
Разница во времени при использовании http-клиента и SSE наугловой сервис огромен, я что-то здесь упускаю?
пружинный контроллер
@RestController
public class PhotoController {
@GetMapping(value = "/photos")
public Flux<Photo> getAllPhoto() {
return photoService.findAll();
}
}
угловой сервис
getWithGET(): Observable<any> {
return this.http.get(this.URL);
}
getWithSSE(): Observable<any> {
return Observable.create(obs => {
const es = new EventSource(this.URL);
es.addEventListener('message', (evt) => {
obs.next(evt);
});
return () => es.close()
});
}
угловой компонент
clickGET() {
this.requestsService.getWithGET()
.subscribe(
data => console.log(data);
}
clickSSE() {
this.requestsService.getWithSSE()
.pipe(take(3))
.subscribe(
message => console.log(message );
}