fix(bootstrap): fix the configuration of ExceptionHandler

This commit is contained in:
vsavkin
2015-12-08 13:27:56 -08:00
committed by Jeremy Elbourn
parent d58f017226
commit 0d9a1de4d9
5 changed files with 19 additions and 10 deletions
+9 -2
View File
@@ -1,5 +1,5 @@
import {NgZone} from 'angular2/src/core/zone/ng_zone';
import {Type, isBlank, isPresent, assertionsEnabled, print} from 'angular2/src/facade/lang';
import {Type, isBlank, isPresent, assertionsEnabled, print, IS_DART} from 'angular2/src/facade/lang';
import {provide, Provider, Injector, OpaqueToken} from 'angular2/src/core/di';
import {
APP_COMPONENT_REF_PROMISE,
@@ -412,7 +412,14 @@ export class ApplicationRef_ extends ApplicationRef {
var tickResult = PromiseWrapper.then(compRefToken, tick);
PromiseWrapper.then(tickResult, (_) => {});
// THIS MUST ONLY RUN IN DART.
// This is required to report an error when no components with a matching selector found.
// Otherwise the promise will never be completed.
// Doing this in JS causes an extra error message to appear.
if (IS_DART) {
PromiseWrapper.then(tickResult, (_) => {});
}
PromiseWrapper.then(tickResult, null,
(err, stackTrace) => completer.reject(err, stackTrace));
} catch (e) {
@@ -1,4 +1,4 @@
import {CONST_EXPR} from 'angular2/src/facade/lang';
import {CONST_EXPR, IS_DART} from 'angular2/src/facade/lang';
import {provide, Provider, Injector, OpaqueToken} from 'angular2/src/core/di';
import {
@@ -48,7 +48,9 @@ export const BROWSER_PROVIDERS: Array<any /*Type | Provider | any[]*/> = CONST_E
]);
function _exceptionHandler(): ExceptionHandler {
return new ExceptionHandler(DOM, false);
// !IS_DART is required because we must rethrow exceptions in JS,
// but must not rethrow exceptions in Dart
return new ExceptionHandler(DOM, !IS_DART);
}
function _document(): any {
@@ -1,4 +1,4 @@
import {CONST_EXPR} from 'angular2/src/facade/lang';
import {CONST_EXPR, IS_DART} from 'angular2/src/facade/lang';
import {MessageBus} from 'angular2/src/web_workers/shared/message_bus';
import {NgZone} from 'angular2/src/core/zone/ng_zone';
import {AnchorBasedAppRootUrl} from 'angular2/src/compiler/anchor_based_app_root_url';
@@ -112,7 +112,7 @@ export function initWebWorkerRenderPlatform(): void {
}
function _exceptionHandler(): ExceptionHandler {
return new ExceptionHandler(DOM, false);
return new ExceptionHandler(DOM, !IS_DART);
}
function _document(): any {