From f45bb15828c1720aa76e098b05c0ebb725739666 Mon Sep 17 00:00:00 2001 From: Timi Date: Fri, 25 Jul 2025 14:56:47 +0800 Subject: [PATCH] add isTimeout property for RunAsyncDaemon --- src/main/java/com/imyeyu/fx/task/RunAsyncDaemon.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/imyeyu/fx/task/RunAsyncDaemon.java b/src/main/java/com/imyeyu/fx/task/RunAsyncDaemon.java index a110cc2..515d223 100644 --- a/src/main/java/com/imyeyu/fx/task/RunAsyncDaemon.java +++ b/src/main/java/com/imyeyu/fx/task/RunAsyncDaemon.java @@ -1,8 +1,8 @@ package com.imyeyu.fx.task; -import javafx.concurrent.Task; import com.imyeyu.java.bean.timi.TimiCode; import com.imyeyu.java.bean.timi.TimiException; +import javafx.concurrent.Task; /** * 异步守护执行,如果 {@link RunAsync} 超过指定时间没有回调,将触发 onTimeout @@ -17,6 +17,9 @@ public abstract class RunAsyncDaemon extends RunAsync { /** true 为回调成功 */ protected boolean isCallBack; + /** true 为回调超时 */ + protected boolean isTimeout; + /** 默认构造器(执行超时 2 秒) */ public RunAsyncDaemon() { this(2000); @@ -35,21 +38,23 @@ public abstract class RunAsyncDaemon extends RunAsync { protected Task createTask() { super.createTask(); + isTimeout = false; isCallBack = false; task.setOnSucceeded(e -> { + isCallBack = true; onFinish(); onFinish(lastT); onFinally(); - isCallBack = true; }); task.setOnFailed(e -> { - onFinally(); isCallBack = true; + onFinally(); }); task.setOnRunning(e -> new Thread(() -> { try { Thread.sleep(timeout); if (!isCallBack) { + isTimeout = true; onTimeout(); } } catch (InterruptedException ex) {