为什么从休息端点返回它时渴望观察到的行为?

问题描述 投票:0回答:1
@GetMapping(value = "/list", produces = "application/json; charset=utf-8")
public Observable<List<Person>> allPerson(){
        return Observable
                .range(0, Integer.MAX_VALUE)
                .map(this::listAllPerson)
                .takeWhile(list -> !list.isEmpty());
    }

[Observables是懒惰的,但是当从其他端点返回一个Observable时,例如,在spring-boot应用程序中,即使没有订阅,它的行为也很渴望。

如何以及为什么?

这个问题可能看起来很愚蠢,但我不知道,也想知道答案。

observable rx-java2
1个回答
0
投票

引擎盖下有一个订阅。框架(我想您正在使用WebFlux)在收到请求时调用allPerson()方法,订阅返回的Observable并将内容发送回调用方。这一切都是异步发生的,因此该框架能够同时处理多个请求。

© www.soinside.com 2019 - 2024. All rights reserved.