我有一个从Flux源填充Map的类。我希望能够即时运行updateTheData()
,但我希望getTheData()
能够返回解析为当前或待处理数据的Mono。
基本上,如果theData!= null并且没有进行中的通量,则返回Mono.just(theData)否则,返回单声道,该单声道最终将发出theData。
编辑:这是迄今为止我能做的最好的事情>>
class SomeClass { private Mono<Map<String, Data>> theData; private final SomeFluxService someFluxService = new SomeFluxService(); public SomeClass() { updateTheData(); } public void updateTheData() { someFluxService.get() .collectMap(Data::getId, Function.identity()) .subscribe(d -> this.theData = Mono.just(d)); } public Mono<Map<String, Data>> getTheData() { return this.theData; } }
但是仍然存在
updateTheData()
第一次完成之前的问题,getTheData()
将返回null
感谢帮助!
我有一个从Flux源填充Map的类。我希望能够即时更新TheData(),但我希望getTheData()能够返回解析为当前或待处理数据的Mono。 ...
但是仍然存在
updateTheData()
第一次完成之前的问题,getTheData()
将返回null