Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(711)

Side by Side Diff: lib/src/scope.dart

Issue 2990893002: Update comment style generic syntax (Closed)
Patch Set: rev version no Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/src/isolate.dart ('k') | lib/src/utils.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'dart:async'; 5 import 'dart:async';
6 6
7 import 'package:json_rpc_2/json_rpc_2.dart' as rpc; 7 import 'package:json_rpc_2/json_rpc_2.dart' as rpc;
8 8
9 import 'error.dart'; 9 import 'error.dart';
10 import 'exceptions.dart'; 10 import 'exceptions.dart';
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 /// `false`. 96 /// `false`.
97 /// 97 ///
98 /// Meanwhile, [onEvent] is called with every event from [stream] that matches 98 /// Meanwhile, [onEvent] is called with every event from [stream] that matches
99 /// this scope's isolate. It should *synchronously* return `null` or `false` 99 /// this scope's isolate. It should *synchronously* return `null` or `false`
100 /// for irrelevant events; once it sees a relevant event, it should return a 100 /// for irrelevant events; once it sees a relevant event, it should return a
101 /// non-`null`, non-`false` value (which may be a Future). 101 /// non-`null`, non-`false` value (which may be a Future).
102 /// 102 ///
103 /// This returns the value returned by [immediate] if it's not `null` or 103 /// This returns the value returned by [immediate] if it's not `null` or
104 /// `false`, or else the first non-`null`, non-`false` value returned by 104 /// `false`, or else the first non-`null`, non-`false` value returned by
105 /// [onEvent]. 105 /// [onEvent].
106 Future/*<T>*/ getInState/*<T>*/(Stream<Map> stream, Future/*<T>*/ immediate(), 106 Future<T> getInState<T>(Stream<Map> stream, Future<T> immediate(),
107 onEvent(Map json)) async { 107 onEvent(Map json)) async {
108 var completer = new Completer.sync(); 108 var completer = new Completer.sync();
109 109
110 // Don't top-level errors from the completer. These may come in from the 110 // Don't top-level errors from the completer. These may come in from the
111 // stream subscription while we're still waiting for `load()` to complete. 111 // stream subscription while we're still waiting for `load()` to complete.
112 completer.future.catchError((_) {}); 112 completer.future.catchError((_) {});
113 113
114 // To avoid a race condition, we need to make sure we're listening to the 114 // To avoid a race condition, we need to make sure we're listening to the
115 // event stream before we load the current state, so that if the object 115 // event stream before we load the current state, so that if the object
116 // reaches the desired state during the load we'll see it. 116 // reaches the desired state during the load we'll see it.
(...skipping 23 matching lines...) Expand all
140 140
141 var result = await immediate(); 141 var result = await immediate();
142 if (result != null && result != false) { 142 if (result != null && result != false) {
143 subscription.cancel(); 143 subscription.cancel();
144 return result; 144 return result;
145 } 145 }
146 146
147 return await completer.future; 147 return await completer.future;
148 } 148 }
149 } 149 }
OLDNEW
« no previous file with comments | « lib/src/isolate.dart ('k') | lib/src/utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698