Completer的使用场景

532 阅读1分钟

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");
  });
}