If you need to perform a check before initial state transition, there is a special function on the Ember.Application class called deferReadiness(). The comment from the source code:
By default, the router will begin trying to translate the current URL into
application state once the browser emits theDOMContentReadyevent. If you
need to defer routing, you can call the application’sdeferReadiness()method.
Once routing can begin, call theadvanceReadiness()method.
Note that at the time of writing this function is available only in ember-latest