gpt4 book ai didi

java - 如何创建和完成 play.libs.F.Promise?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:25:41 25 4
gpt4 key购买 nike

我想创建一个 play.libs.F.Promise来自对异步第三方服务的调用,因此我可以链接调用并返回 Promise<Result>而不是阻塞在 Controller 内部。像这样:

final Promise<String> promise = new Promise();
service.execute(new Handler() {
public void onSuccess(String result) {
promise.complete(result);
}
})
return promise;

不幸的是,似乎没有办法创建一个空的 play.libs.F.Promise ,也没有完成 promise 的方法吗?

最佳答案

你必须使用 F.RedeemablePromise .

RedeemablePromise<String> promise = RedeemablePromise.empty();

promise.map(string ->
// This would apply once the redeemable promise succeed
ok(string + " World!")
);

// In another thread, you now may complete the RedeemablePromise.
promise.success("Hello");

// OR you can fail the promise
promise.failure(new Exception("Problem"));

关于java - 如何创建和完成 play.libs.F.Promise?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21801742/

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