From a8bfe4c27d93ce5045328364b9d8aee7df40750b Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 26 Mar 2026 22:41:09 +0800 Subject: [PATCH] Optimize js spider --- quickjs/src/main/java/com/fongmi/quickjs/crawler/Spider.java | 3 +-- quickjs/src/main/java/com/fongmi/quickjs/utils/Async.java | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/quickjs/src/main/java/com/fongmi/quickjs/crawler/Spider.java b/quickjs/src/main/java/com/fongmi/quickjs/crawler/Spider.java index 7cc23c158..778422e34 100644 --- a/quickjs/src/main/java/com/fongmi/quickjs/crawler/Spider.java +++ b/quickjs/src/main/java/com/fongmi/quickjs/crawler/Spider.java @@ -25,7 +25,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.Callable; -import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; @@ -52,7 +51,7 @@ public class Spider extends com.github.catvod.crawler.Spider { } private Object call(String func, Object... args) throws Exception { - return CompletableFuture.supplyAsync(() -> Async.run(jsObject, func, args), executor).join().get(); + return submit(() -> Async.run(jsObject, func, args)).get().get(); } @Override diff --git a/quickjs/src/main/java/com/fongmi/quickjs/utils/Async.java b/quickjs/src/main/java/com/fongmi/quickjs/utils/Async.java index 6a617d7fb..3cf097612 100644 --- a/quickjs/src/main/java/com/fongmi/quickjs/utils/Async.java +++ b/quickjs/src/main/java/com/fongmi/quickjs/utils/Async.java @@ -67,7 +67,8 @@ public class Async { }; private final JSCallFunction onError = args -> { - future.complete(null); + String msg = args != null && args.length > 0 && args[0] != null ? args[0].toString() : ""; + future.completeExceptionally(new Exception(msg)); return null; }; }