Ant*_*kin 5 asynchronous future dart flutter
我尝试取消 Future,但仍然在 .then() 中获取执行代码。为什么它不起作用,我做错了什么?
var c = CancelableOperation.fromFuture(
Future.delayed(new Duration(seconds: 5), () {
}).then((data){
print("123"); // This code is always called...
})
);
c.cancel();
Run Code Online (Sandbox Code Playgroud)
https://pub.dartlang.org/packages/async
在
CancelableOperation
类定义,可以通过其消费被取消的操作。然后生产者可以监听这个取消并在收到它时停止生产未来。它可以使用CancelableCompleter
.
尤其是这一段
然后生产者可以监听这个取消并停止生产
因此,价值的生产者应该停止工作。这并不意味着它不会返回结果。它可能会返回null
以表明它不是实际结果。
你想要的可能是CancelableCompleter
相反的。
单元测试可能有助于理解这些类应该如何使用
归档时间: |
|
查看次数: |
1377 次 |
最近记录: |