Completer<T>构造函数

Completer<T>()

创建一个新的Completer。

创建新的Future的一般工作流程是:1) 创建一个新的Completer,2) 分配其Future,然后在稍后的某个时刻,3) 调用completecompleteError

Completer异步完成Future。这意味着当调用completecompleteError时,注册在Future上的回调不会立即被调用。相反,回调会被延迟到后续的微任务。

示例

var completer = new Completer();
handOut(completer.future);
later: {
  completer.complete('completion value');
}

实现

factory Completer() => new _AsyncCompleter<T>();