diff --git a/packages/router/src/utils/collection.ts b/packages/router/src/utils/collection.ts index c49a2daf8f..36ffcca7d8 100644 --- a/packages/router/src/utils/collection.ts +++ b/packages/router/src/utils/collection.ts @@ -97,7 +97,10 @@ export function wrapIntoObservable(value: T | NgModuleFactory| Promise| } if (isPromise(value)) { - return fromPromise(value); + // Use `Promise.resolve()` to wrap promise-like instances. + // Required ie when a Resolver returns a AngularJS `$q` promise to correctly trigger the + // change detection. + return fromPromise(Promise.resolve(value)); } return of (value);