我在Java EE8中使用异步事件
CompletionStage<MyData> completion = dataEvent.fireAsync(myData);
completion.thenAccept(this::eventDelivered);
回调方法:
void eventDelivered(MyData data) {
}
观察:
public MyData callAsyncDataApi(@ObservesAsync MyData myData) throws Exception {
MyData result = dataClient.callDataApi(myData.getValue());
return result;
}
我原以为我得到了传递给我的回调方法的dataClient.callDataApi()的结果。但我收到了之前传递给观察者的myData
对象。
有没有办法将结果返回给回调方法而不将结果复制到myData变量?