From 4246aa03d9a99c3dc847319eae3db62003ad4422 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 28 Jul 2024 12:48:33 +0800 Subject: [PATCH] WIP/docs: update README --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4f6c6c40..4527b3ce 100644 --- a/README.md +++ b/README.md @@ -70,10 +70,13 @@ 如方法`allTupleFastFailOf` / `allTupleOf` / `tupleMSupplyFastFailAsync` / `thenTupleMApplyFastFailAsync` - 支持直接运行多个`action`,而不是要先包装成`CompletableFuture` 如方法`tupleMSupplyFastFailAsync` / `mSupplyMostSuccessAsync` / `thenTupleMApplyFastFailAsync` / `thenMRunFastFailAsync` + - 支持处理指定异常类型的`catching`方法,而不是处理所有异常`Throwable` - ⚙️ 更高效灵活的并发执行策略,如 - `AllFastFail`策略:当输入的多个`CF`有失败时快速失败返回,而不再于事无补地等待所有`CF`运行完成(`allOf`) - `AnySuccess`策略:返回首个成功的`CF`结果,而不是首个完成(但可能失败)的`CF`(`anyOf`) - - `MostSuccess`策略:指定时间内返回多个`CF`中成功的结果,忽略失败或还没有运行完成的`CF`(返回指定的缺省值) + - `AllSuccess`策略:返回多个`CF`的成功结果,对于失败的`CF`返回指定的缺省值 + - `MostSuccess`策略:指定时间内返回多个`CF`中成功的结果,对于失败或还没有运行完成的`CF`返回指定的缺省值 + - `All(Complete)`/`Any(Complete)`策略:这2个在`CompletableFuture`中有支持 - 🦺 更安全的使用方式,如 - 支持设置缺省的业务线程池并封装携带,`CffuFactory#builder(executor)`方法 - 支持超时的`join`的方法,`join(timeout, unit)`方法 @@ -87,7 +90,8 @@ - 非阻塞地获取成功结果,`getSuccessNow`方法 - 解包装`CF`异常成业务异常,`unwrapCfException`方法 - 💪 **已有功能的增强**,如 - - `anySuccessOf`/`anyOf`方法:返回具体类型`T`(类型安全),而不是返回`Object`(`CompletableFuture#anyOf`) + - `anyOf`方法:返回具体类型`T`(类型安全),而不是返回`Object`(`CompletableFuture#anyOf`) + - `allof`/`anyOf`方法:输入更泛化的`CompletionStage`参数类型,而不是`CompletableFuture`类(`CompletableFuture#allOf/anyOf`) - ⏳ **`Backport`支持`Java 8`**,`Java 9+`高版本的所有`CF`新功能在`Java 8`低版本直接可用,如 - 超时控制:`orTimeout`/`completeOnTimeout`方法 - 延迟执行:`delayedExecutor`方法