title: Where do I load route data in Angular2
body: <p>In Angular 1 I would load http data (user profiles, etc) in the resolve. It seemed to me, that was what the resolve was for. Now I have no clear place to do it, but lots of choices.</p>
  
  <p><code>@CanActivate()</code> seems like it can work... but it returns a <code>boolean</code> and the name makes it obvious this is the wrong place for http requests.</p>
  
  <p><code>ngOnInit</code> is nice - but it is run after the components constructor. That means I can't do anything with the user data in the constructor like bind it to member variables or anything. Sure, I could do that in <code>ngOnInit</code> too but doesn't that seem like it should go in the constructor?</p>
  
  <p><code>constructor()</code> is then an obvious candidate. But http reqs can be long and they themselves don't seem to actually have anything to do with constructing the component.</p>
  
  <p>I think it should be more like:</p>
  
  <p><code>gatherData() -&gt; constructor() -&gt; ngOnInit()</code></p>
  
  <p>How can I achieve this?</p>