飞镖图库瀑布原理就像来自caolan的异步

zer*_*ing 0 dart dart-async

早些时候,我是一个javascript程序员,我使用来自caolan的库异步来防止回调地狱异步库.

在这些日子里,我转向飞镖,异步风格几乎与javascript一样.我真的很喜欢async.waterfall函数,我可以按顺序执行回调函数.

我怎么能用飞镖做到这一点?他们有一个类似的飞镖库吗?

Pix*_*ant 6

您可以简单地将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");
}
Run Code Online (Sandbox Code Playgroud)