refactor(Async): Unify TS and Dart PromiseCompleter naming

Also add explicit typing wherever we use PromiseCompleter
This commit is contained in:
Jason Teplitz
2015-07-24 17:24:28 -07:00
parent a8b57256c8
commit 7cbaf1076f
10 changed files with 41 additions and 27 deletions

View File

@ -30,7 +30,7 @@ import {StyleInliner} from 'angular2/src/render/dom/compiler/style_inliner';
import {ViewResolver} from './compiler/view_resolver';
import {DirectiveResolver} from './compiler/directive_resolver';
import {List, ListWrapper} from 'angular2/src/facade/collection';
import {Promise, PromiseWrapper} from 'angular2/src/facade/async';
import {Promise, PromiseWrapper, PromiseCompleter} from 'angular2/src/facade/async';
import {NgZone} from 'angular2/src/core/zone/ng_zone';
import {LifeCycle} from 'angular2/src/core/life_cycle/life_cycle';
import {ShadowDomStrategy} from 'angular2/src/render/dom/shadow_dom/shadow_dom_strategy';
@ -280,7 +280,7 @@ export function commonBootstrap(
appComponentType: /*Type*/ any,
componentInjectableBindings: List<Type | Binding | List<any>> = null): Promise<ApplicationRef> {
BrowserDomAdapter.makeCurrent();
var bootstrapProcess = PromiseWrapper.completer();
var bootstrapProcess: PromiseCompleter<any> = PromiseWrapper.completer();
var zone = createNgZone(new ExceptionHandler(DOM));
zone.run(() => {
// TODO(rado): prepopulate template cache, so applications with only

View File

@ -29,7 +29,7 @@ class PromiseWrapper {
return promise.catchError(onError);
}
static CompleterWrapper completer() => new CompleterWrapper(new Completer());
static PromiseCompleter<dynamic> completer() => new PromiseCompleter(new Completer());
}
class TimerWrapper {
@ -104,10 +104,10 @@ class EventEmitter extends Stream {
}
}
class CompleterWrapper {
final Completer c;
class PromiseCompleter<T> {
final Completer<T> c;
CompleterWrapper(this.c);
PromiseCompleter(this.c);
Future get promise => c.future;

View File

@ -1,4 +1,9 @@
import {PromiseWrapper, ObservableWrapper, EventEmitter} from 'angular2/src/facade/async';
import {
PromiseWrapper,
ObservableWrapper,
EventEmitter,
PromiseCompleter
} from 'angular2/src/facade/async';
import {StringMapWrapper, List, ListWrapper} from 'angular2/src/facade/collection';
import {isPresent, isBlank, CONST_EXPR} from 'angular2/src/facade/lang';
import {Directive} from 'angular2/annotations';
@ -134,7 +139,7 @@ export class NgForm extends ControlContainer implements Form {
}
_later(fn) {
var c = PromiseWrapper.completer();
var c: PromiseCompleter<any> = PromiseWrapper.completer();
PromiseWrapper.then(c.promise, fn, (_) => {});
c.resolve(null);
}

View File

@ -1,11 +1,11 @@
import {Injectable} from 'angular2/di';
import {Promise, PromiseWrapper} from 'angular2/src/facade/async';
import {Promise, PromiseWrapper, PromiseCompleter} from 'angular2/src/facade/async';
import {XHR} from './xhr';
@Injectable()
export class XHRImpl extends XHR {
get(url: string): Promise<string> {
var completer = PromiseWrapper.completer();
var completer: PromiseCompleter < string >= PromiseWrapper.completer();
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'text';

View File

@ -1,7 +1,7 @@
import {XHR} from 'angular2/src/render/xhr';
import {List, ListWrapper, Map, MapWrapper} from 'angular2/src/facade/collection';
import {isBlank, isPresent, normalizeBlank, BaseException} from 'angular2/src/facade/lang';
import {PromiseWrapper, Promise} from 'angular2/src/facade/async';
import {PromiseCompleter, PromiseWrapper, Promise} from 'angular2/src/facade/async';
export class MockXHR extends XHR {
private _expectations: List<_Expectation>;
@ -77,7 +77,7 @@ export class MockXHR extends XHR {
class _PendingRequest {
url: string;
completer;
completer: PromiseCompleter<string>;
constructor(url) {
this.url = url;

View File

@ -26,7 +26,7 @@ import {ExceptionHandler} from 'angular2/src/core/exception_handler';
import {DirectiveResolver} from 'angular2/src/core/compiler/directive_resolver';
import {ViewResolver} from 'angular2/src/core/compiler/view_resolver';
import {List, ListWrapper} from 'angular2/src/facade/collection';
import {Promise, PromiseWrapper} from 'angular2/src/facade/async';
import {Promise, PromiseWrapper, PromiseCompleter} from 'angular2/src/facade/async';
import {NgZone} from 'angular2/src/core/zone/ng_zone';
import {LifeCycle} from 'angular2/src/core/life_cycle/life_cycle';
import {XHR} from 'angular2/src/render/xhr';
@ -137,7 +137,7 @@ function _injectorBindings(appComponentType, bus: WorkerMessageBus,
export function bootstrapWebworkerCommon(
appComponentType: Type, bus: WorkerMessageBus,
componentInjectableBindings: List<Type | Binding | List<any>> = null): Promise<ApplicationRef> {
var bootstrapProcess = PromiseWrapper.completer();
var bootstrapProcess: PromiseCompleter<any> = PromiseWrapper.completer();
var zone = createNgZone(new ExceptionHandler(new PrintLogger()));
zone.run(() => {

View File

@ -41,7 +41,7 @@ export class MessageBroker {
var promise: Promise<any>;
var id: string = null;
if (returnType != null) {
var completer = PromiseWrapper.completer();
var completer: PromiseCompleter<any> = PromiseWrapper.completer();
id = this._generateMessageId(args.type + args.method);
this._pending.set(id, completer.resolve);
PromiseWrapper.catchError(completer.promise, (err, stack?) => {