From 095af3bb4ad1b3c06d09d02487085c52759e5060 Mon Sep 17 00:00:00 2001 From: Karson To Date: Thu, 27 Feb 2025 13:34:56 +0800 Subject: [PATCH] async enhancement. --- .../deepseek/core/AsyncRequestExecutor.java | 61 +++++-------------- .../ai/deepseek/core/RequestExecutor.java | 4 +- .../pigmesh/ai/deepseek/core/SyncOrAsync.java | 2 +- 3 files changed, 18 insertions(+), 49 deletions(-) diff --git a/deepseek4j-core/src/main/java/io/github/pigmesh/ai/deepseek/core/AsyncRequestExecutor.java b/deepseek4j-core/src/main/java/io/github/pigmesh/ai/deepseek/core/AsyncRequestExecutor.java index da5e268..4d565ce 100644 --- a/deepseek4j-core/src/main/java/io/github/pigmesh/ai/deepseek/core/AsyncRequestExecutor.java +++ b/deepseek4j-core/src/main/java/io/github/pigmesh/ai/deepseek/core/AsyncRequestExecutor.java @@ -19,56 +19,25 @@ class AsyncRequestExecutor { this.responseContentExtractor = responseContentExtractor; } - AsyncResponseHandling onResponse(Consumer responseHandler) { - return new AsyncResponseHandling() { - + void onResponse(Consumer responseHandler, Consumer errorHandler) { + call.enqueue(new retrofit2.Callback() { @Override - public ErrorHandling onError(Consumer errorHandler) { - return new ErrorHandling() { - - @Override - public ResponseHandle execute() { - try { - retrofit2.Response retrofitResponse = call.execute(); - if (retrofitResponse.isSuccessful()) { - Response response = retrofitResponse.body(); - ResponseContent responseContent = responseContentExtractor.apply(response); - responseHandler.accept(responseContent); - } - else { - errorHandler.accept(toException(retrofitResponse)); - } - } - catch (IOException e) { - errorHandler.accept(e); - } - return new ResponseHandle(); - } - }; + public void onResponse(Call call, retrofit2.Response response) { + if (response.isSuccessful()) { + responseHandler.accept(responseContentExtractor.apply(response.body())); + } else { + try { + errorHandler.accept(toException(response)); + } catch (IOException e) { + throw new RuntimeException(e); + } + } } @Override - public ErrorHandling ignoreErrors() { - return new ErrorHandling() { - - @Override - public ResponseHandle execute() { - try { - retrofit2.Response retrofitResponse = call.execute(); - if (retrofitResponse.isSuccessful()) { - Response response = retrofitResponse.body(); - ResponseContent responseContent = responseContentExtractor.apply(response); - responseHandler.accept(responseContent); - } - } - catch (IOException e) { - // intentionally ignoring, because user called ignoreErrors() - } - return new ResponseHandle(); - } - }; + public void onFailure(Call call, Throwable t) { + errorHandler.accept(t); } - }; + }); } - } diff --git a/deepseek4j-core/src/main/java/io/github/pigmesh/ai/deepseek/core/RequestExecutor.java b/deepseek4j-core/src/main/java/io/github/pigmesh/ai/deepseek/core/RequestExecutor.java index c4f91e6..3a59f19 100644 --- a/deepseek4j-core/src/main/java/io/github/pigmesh/ai/deepseek/core/RequestExecutor.java +++ b/deepseek4j-core/src/main/java/io/github/pigmesh/ai/deepseek/core/RequestExecutor.java @@ -60,9 +60,9 @@ public ResponseContent execute() { } @Override - public AsyncResponseHandling onResponse(Consumer responseHandler) { + public void onResponse(Consumer responseHandler,Consumer errorHandler) { - return new AsyncRequestExecutor<>(call, responseContentExtractor).onResponse(responseHandler); + new AsyncRequestExecutor<>(call, responseContentExtractor).onResponse(responseHandler,errorHandler); } @Override diff --git a/deepseek4j-core/src/main/java/io/github/pigmesh/ai/deepseek/core/SyncOrAsync.java b/deepseek4j-core/src/main/java/io/github/pigmesh/ai/deepseek/core/SyncOrAsync.java index 3a62533..fc88fb4 100644 --- a/deepseek4j-core/src/main/java/io/github/pigmesh/ai/deepseek/core/SyncOrAsync.java +++ b/deepseek4j-core/src/main/java/io/github/pigmesh/ai/deepseek/core/SyncOrAsync.java @@ -6,6 +6,6 @@ public interface SyncOrAsync { ResponseContent execute(); - AsyncResponseHandling onResponse(Consumer responseHandler); + void onResponse(Consumer responseHandler,Consumer errorHandler); }