在 webflux 序列中引发错误/断言?
Raise error / assert in webflux sequence?
假设我有以下 webflux 片段:
.map(str -> str.split(","))
.OnErrorResume(...)
我想确保拆分 returns 一个恰好 x 项的数组。不然我要进OnErrorResume
了。有没有一种 webflux-y 方法可以做到这一点? filter
只会删除不良项目,但这不是我想要的。
我是否需要将 map
扩展为:
{
String[] arr = str.split(",");
if (arr.length != 3)
return Mono.error();
return arr;
}
或者是否有内置的东西?
你试过handle
方法了吗?
.map(str -> str.split(","))
.<String[]>handle((arr, sink) -> {
if (arr.length == x)
sink.next(arr);
else
sink.error(new ArrayLengthException());
})
.onErrorResume(err -> Mono.just(...));
假设我有以下 webflux 片段:
.map(str -> str.split(","))
.OnErrorResume(...)
我想确保拆分 returns 一个恰好 x 项的数组。不然我要进OnErrorResume
了。有没有一种 webflux-y 方法可以做到这一点? filter
只会删除不良项目,但这不是我想要的。
我是否需要将 map
扩展为:
{
String[] arr = str.split(",");
if (arr.length != 3)
return Mono.error();
return arr;
}
或者是否有内置的东西?
你试过handle
方法了吗?
.map(str -> str.split(","))
.<String[]>handle((arr, sink) -> {
if (arr.length == x)
sink.next(arr);
else
sink.error(new ArrayLengthException());
})
.onErrorResume(err -> Mono.just(...));