百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
E

ea-async

> 编程语言
开源

EA Async 在 JVM 中实现了 async-await 方法。

1.4K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

EA Async 在 JVM 中实现了 async-await 方法。

EA Async 在 JVM 中实现了 Async-Await 方法。它允许程序员以顺序方式编写异步代码。它受到 .NET CLR 上的 Async-Await 的深刻启发,详细信息请参阅 使用 Async 和 Await 进行异步编程。

开发者与许可证 ===== 此项目由 Electronic Arts 开发,并采用 BSD 3 条款许可协议。 示例 ======= #### 使用 EA Async ```java import static com.ea.async.Async.await; import static java.util.concurrent.CompletableFuture.completedFuture;

public class Store { public CompletableFuture buyItem(String itemTypeId, int cost) { if(!await(bank.decrement(cost))) { return completedFuture(false); } await(inventory.giveItem(itemTypeId)); return completedFuture(true); } } ``` 在此示例中,Bank.decrement 返回 CompletableFuture<Boolean> ,而 Inventory.giveItem 返回 CompletableFuture<String> EA Async 重写了对 Async.await 的调用,使您的方法成为非阻塞方法。 这些方法看起来是阻塞的,但实际上已被转换为使用 CompletableFuture 继续执行的异步方法,以便在中间结果到达时继续执行。 #### 没有 EA Async 以下是没有 EA Async 的第一个示例。它略显不易读。

java
import static java.util.concurrent.CompletableFuture.completedFuture;
public class Store
{
public CompletableFuture<Boolean> buyItem(String itemTypeId, int cost)
{
return bank.decrement(cost)
.thenCompose(result -> {
if(!result) {
return completedFuture(false);
}
return inventory.giveItem(itemTypeId).thenApply(res -> true);
});

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Javaasyncasync-awaitasynchronousconcurrency

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言