Completer让我们可以控制Future的执行时机,
看一个例子就明白了
import 'dart:async';
void main() {
// 实例化一个Completer
var completer = Completer();
// 这里可以拿到这个completer内部的Future
var future = completer.future;
// 需要的话串上回调函数。
future.then((value)=> print('$value'));
//做些其它事情
// 设置为完成状态
Future.delayed(Duration(milliseconds: 5000), () {
completer.complete("done");
});
}