我在这里发现了很多关于取消JavaFX应用程序中的任务的帖子。 建议的方法是启动cancel方法并检查isCancelled()返回值。
当有很多事情需要忽略时,我的问题就出现了。
例如。
myTask = new Task<Void>() {
@Override
protected Void call() throws Exception {
if (!isCancelled()){
doSomething();
}
return null;
}
};
new Thread(myTask).start();
但是doSomething()方法正在更新很多UI组件/数据库/其他后台任务。如何忽略/取消方法doSomething()中的所有内容?到目前为止,我有很容易更新的东西,我只是在每个之前检查了isCancelled()的返回值。
我很乐意为你提供帮助, 谢谢!