Java 无承诺异步代码

Java 无承诺异步代码,java,asynchronous,playframework,Java,Asynchronous,Playframework,在操作内部,如果不需要承诺来产生实际结果,那么执行某些异步代码的最佳方式是什么 例如,我创建了一个RecordedAction来与其他Action组合。它执行一个昂贵的操作(写入数据库),但不会产生注释操作所需的内容。换句话说,我不需要承诺,但我需要一个单独的执行上下文 我可以这样做: public class RecordedAction extends Action<Recorded> { @Override public F.Promise<Result&

在操作内部,如果不需要承诺来产生实际结果,那么执行某些异步代码的最佳方式是什么

例如,我创建了一个RecordedAction来与其他Action组合。它执行一个昂贵的操作(写入数据库),但不会产生注释操作所需的内容。换句话说,我不需要承诺,但我需要一个单独的执行上下文

我可以这样做:

public class RecordedAction extends Action<Recorded> {
    @Override
    public F.Promise<Result> call(Context ctx) throws Throwable {
        Promise.promise(() -> {
            // do asynchronous stuff
            return Promise.pure(null, myExecutionContext);
        });
        return delegate.call(ctx);
    }
}
公共类RecordedAction扩展操作{
@凌驾
公共F.承诺呼叫(上下文ctx)抛出可丢弃{
承诺。承诺(()->{
//做异步的事情
return Promise.pure(null,myExecutionContext);
});
返回委托呼叫(ctx);
}
}
但我只是在利用承诺使用一个单独的ExecutionContext