早些时候,我是一名javascript程序员,我使用来自caolan的库异步来防止回调地狱async library。
在这些日子里,我转向飞镖,异步风格几乎与javascript一样。我真的很喜欢async.waterfall函数,我可以按顺序执行回调函数。
我怎么能用飞镖做到这一点?他们有一个类似的dart库吗?
答案 0 :(得分:6)
您可以简单地将期货的结果链接在一起:
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");
}
答案 1 :(得分:1)