如何使用observable在Angular 4中使用SpringBoot服务的流响应?

时间:2017-08-31 11:09:17

标签: angular spring-boot streaming observable

我创建了一个微服务,它使用StreamingResponseBody类以流的形式返回响应。我想在我的Angular 4应用程序中使用RxJS Observables在AJAX调用中使用此响应。这是我的控制器:

@RestController
public class MyController {
    @RequestMapping(value = "/api/oneToHundred", method = RequestMethod.GET)
    public StreamingResponseBody oneToHundred() {
        return new StreamingResponseBody() {
            @Override
            public void writeTo(OutputStream out) throws IOException {
                for (int i=1;i<=100;i++) {
                    out.write((i + "\n").getBytes());
                    out.flush();
                }

            }
        };
    }
}

毋庸置疑,在请求完全完成之前会有部分结果。我想在获得部分结果后立即更新UI,比如在HTML页面上将每个部分结果显示为列表项,如下所示:

  • 1
  • 2 ...

在下一组部分回复之后

  • 1
  • 2
  • 3
  • 4 ...

在下一组部分回复之后

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9 ......

高达

  • ...
  • 98
  • 99
  • 100

有可能吗?

0 个答案:

没有答案