如果你有一个像这样的 future 链(取自 Dart 教程)
expensiveA().then((aValue) => expensiveB())
.then((bValue) => expensiveC())
.then((cValue) => doSomethingWith(cValue));
Run Code Online (Sandbox Code Playgroud)
取消这样一条链的正确“Dart”方式是什么?例如,这条长链可能已经在不久前开始,并且您希望在用户采取的操作导致最终结果无用时能够取消它。
expensiveA可以使用、 、的代码expensiveB,expensiveC检查doSomethingWith变量值并在该值具有特定值时抛出错误。
但是有没有通用的方法来杀死一条期货链呢?
dart 教程给出了如何链接 futures 的示例:https://www.dartlang.org/docs/tutorials/futures/#calling-multiple-funcs
关于如何取消 future,有一个问题(恕我直言)得到了部分回答:有没有办法取消 dart Future?