在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異步接口返回結果的方式,具體選擇哪種方式取決于具體的業務需求和開發習慣。