gpt4 book ai didi

java - 如何捕获 react 流取消信号?

转载 作者:行者123 更新时间:2023-11-30 05:22:00 25 4
gpt4 key购买 nike

我想在流由于任何原因(包括取消)终止后最终做一些事情,并且我找到了doFinally方法,但是取消时不起作用,因为https://github.com/reactor/reactor-core/issues/1090#issuecomment-367633241显示:

Cancellation travels only upstream

那么,如何捕获取消信号呢?

这是我的代码:

    public Mono<Void> myFunction() {
return Mono.just("hello")
.flatMap(s -> foo(s))
.doFinally(signalType -> {
// do something finally, but the doFinally won't be called
System.out.println(signalType);
});
}

// some other library's function that I cant not modify any way
public Mono<Void> foo(String s) {
// return a reactive stream, and will cancel it after it be subscribed, like:
return Mono.just(s)
.doOnSubscribe(subscription -> subscription.cancel())
.then();
}

最佳答案

您不能在这种特定的安排中,因为 foo() 方法/库似乎自己管理订阅(取消),而不是将该责任留给消费者。因此,像这样管理订阅并不一定是一件好事。

关于java - 如何捕获 react 流取消信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59411874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com