File tree Expand file tree Collapse file tree 1 file changed +7
-11
lines changed Expand file tree Collapse file tree 1 file changed +7
-11
lines changed Original file line number Diff line number Diff line change @@ -43,19 +43,15 @@ extension StreamExtensions<T> on Stream<T> {
4343 /// completed with `null` .
4444 Future <T ?> get firstOrNull {
4545 var completer = Completer <T ?>.sync ();
46- final subscription = listen (null );
47- subscription
48- ..onData ((event) {
49- subscription.cancel ();
46+ final subscription = listen (null ,
47+ onError: completer.completeError,
48+ onDone: completer.complete,
49+ cancelOnError: true );
50+ subscription.onData ((event) {
51+ subscription.cancel ().whenComplete (() {
5052 completer.complete (event);
51- })
52- ..onError ((Object error, StackTrace stackTrace) {
53- subscription.cancel ();
54- completer.completeError (error, stackTrace);
55- })
56- ..onDone (() {
57- completer.complete (null );
5853 });
54+ });
5955 return completer.future;
6056 }
6157}
You can’t perform that action at this time.
0 commit comments