A future that completes with the terminal value: the result extracted from the completion event, or the value passed to end.
Future<R> get result => _resultCompleter.future;