d <code>beforeModel</code> or <code>afterModel</code> hooks) returns a promise (or
if a promise was provided as an argument to <code>transitionTo</code>), the transition
will pause until that promise fulfills or rejects.</p>
<p>The router considers any object with a <code>then()</code> method
defined on it to be a promise.</p>
<p>If the promise fulfills, the transition will pick up where it left off and
begin resolving the next (child) route's model, pausing if it too is a
promise, and so on, until all dest