Как отправить запрос GET с помощью Angular 8 и как обработать входящий ответ APPLICATION_STREAM_JSON_VALUE

Я показываю конечную точку с помощью Spring Boot и Webflux, которая возвращает бесконечный поток чисел, по одному каждую секунду:

@GetMapping(value = "/infinitestreamflux", produces = MediaType.APPLICATION_STREAM_JSON_VALUE)
@CrossOrigin(origins = "http://localhost:4200")
public Flux<Long> returnInfiniteStreamFlux() {
    return Flux.interval(Duration.ofSeconds(1))
            .log();
}

Если я вызываю localhost:8080/infinitestreamflux из своего браузера, все работает нормально. Результаты отображаются правильно по мере их поступления.

Я хотел бы получить тот же результат с помощью Angular 8, но на странице ничего не отображается.

Это мой тестовый компонент:

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {

  infiniteStreamFlux;

  constructor(private http: HttpClient) {}

  ngOnInit(): void {
    this.http.get('http://localhost:8080/infinitestreamflux')
      .subscribe(data => this.infiniteStreamFlux = data);
  }

}

Это мой очень простой шаблон:

{{infiniteStreamFlux}}

Из моего журнала сервера я ясно вижу, что результаты отправляются.и из инструментов разработчика Chrome я узнал, что значения поступают каждую секунду, даже если они не отображаются на вкладке предварительного просмотра. В итоге страница оказывается пустой.

Как я могу решить проблему?

0 ответов

Другие вопросы по тегам