在Java中,异步接口可以通过回调函数、Future和CompletionStage等方式返回结果。
public interface AsyncCallback<T> {
void onComplete(T result);
void onError(Exception e);
}
public interface AsyncService {
void doAsyncOperation(AsyncCallback<String> callback);
}
// 使用异步接口
AsyncService service = new AsyncServiceImpl();
service.doAsyncOperation(new AsyncCallback<String>() {
@Override
public void onComplete(String result) {
// 处理异步操作的结果
}
@Override
public void onError(Exception e) {
// 处理异常情况
}
});
public interface AsyncService {
Future<String> doAsyncOperation();
}
// 使用异步接口
AsyncService service = new AsyncServiceImpl();
Future<String> future = service.doAsyncOperation();
// 处理其他任务
String result = future.get(); // 阻塞等待异步操作完成并获取结果
public interface AsyncService {
CompletionStage<String> doAsyncOperation();
}
// 使用异步接口
AsyncService service = new AsyncServiceImpl();
CompletionStage<String> stage = service.doAsyncOperation();
stage.thenAccept(result -> {
// 处理异步操作的结果
}).exceptionally(e -> {
// 处理异常情况
return null; // 返回一个默认值
});
以上是几种常见的Java异步接口返回结果的方式,具体选择哪种方式取决于具体的业务需求和开发习惯。