早些时候,我是一名 javascript 程序员,我使用来自 caolan 的库 async 来防止回调地狱异步库。
在这些天里,我转向了 dart,异步风格与 javascript 中的风格非常相似。我真的很喜欢 async.waterfall 函数,我可以按顺序执行带有回调的函数。
我怎么能在飞镖中做到这一点?他们有类似的 dart 库可用吗?
早些时候,我是一名 javascript 程序员,我使用来自 caolan 的库 async 来防止回调地狱异步库。
在这些天里,我转向了 dart,异步风格与 javascript 中的风格非常相似。我真的很喜欢 async.waterfall 函数,我可以按顺序执行带有回调的函数。
我怎么能在飞镖中做到这一点?他们有类似的 dart 库可用吗?
您可以简单地将 Futures 的结果链接在一起:
import 'dart:async';
void main() {
first()
.then(second)
.then(third)
.then(fourth);
}
Future<String> first() {
return new Future.sync(() => "first");
}
Future<int> second(String arg ) {
return new Future.sync(() => 2);
}
Future<List<int>> third(int arg) {
return new Future.sync(() => [1, 2, 3]);
}
Future<String> fourth(List<int> arg ) {
return new Future.sync(() => "Final result is: $arg");
}