我正在处理一些专有代码,并且尝试取消某个任务(如果60秒后未成功完成)。基本上,我有两个对象,可以实例化的是Object1和Object2,它们的.Run()方法由两个单独的任务调用。我希望对象2如果在对象1保持运行的60秒后仍未完成,则取消它。我尝试使用.Dispose(),但意识到仅释放资源而实际上并未取消任务。
animateChild()
答案 0 :(得分:0)
请改用Task.Run()。 Run()方法有几个重载。根据您的o2.Run()返回的内容,以下是其中一些:
@FXML
Run(Action, CancellationToken)
Run(Func<Task>, CancellationToken)
基本上,您在这里看到的是Run<TResult>(Func<TResult>, CancellationToken)
。
CancellationToken
具有以下构造函数:CancellationTokenSource
,其中CancellationTokenSource(TimeSpan delay)
是
取消此时间之前要等待的时间间隔 CancellationTokenSource。
可通过此link
找到更多信息这是完整的解决方案:
delay