-
Notifications
You must be signed in to change notification settings - Fork 138
Closed
Description
I'm not sure what's going on, but I'm doing something like this :
transitionService.onBefore({
to: (state) => true // Simplified
}, (transition: Transition): Promise<TargetState | void> => {
const initService: InitService = transition.injector().get<InitService>(InitService);
return initService.init(transition);
});
It was working well up to ui-router beta 4.
Now with ui-router beta 7 (probably beta5 too), some services that my InitService
depends on are undefined
.
Doing this, It works fine :
function promiseTimeout(time: number) {
return new Promise((resolve) => {
setTimeout(() => { resolve(time); }, time);
});
};
[...]
transitionService.onBefore({
to: (state) => true // Simplified
}, (transition: Transition): Promise<TargetState | void> => {
return promiseTimeout(0).then(() => {
const initService: InitService = transition.injector().get<InitService>(InitService);
return initService.init(transition);
});
});
This service (initService
) is quite heavy. it's seems there is some kind of race condition going on.
Metadata
Metadata
Assignees
Labels
No labels