 <p>You could bootstrap asynchronously after your request(s) complete(s). Here is a sample:</p> <pre><code>var app = platform(BROWSER_PROVIDERS) .application([BROWSER_APP_PROVIDERS, appProviders]); var service = app.injector.get(CompaniesService); service.executeSomething().flatMap((data) =&gt; { var companiesProvider = new Provider('data', { useValue: data }); return app.bootstrap(appComponentType, [ companiesProvider ]); }).toPromise(); </code></pre> <p>See this question for more details:</p> <ul> <li><a href="http://stackoverflow.com/questions/36365134/angular2-bootstrap-with-data-from-ajax-calls/36370302#36370302">angular2 bootstrap with data from ajax call(s)</a></li> </ul> <p>and the corresponding plunkr: <a href="https://plnkr.co/edit/ooMNzEw2ptWrumwAX5zP?p=preview" rel="nofollow">https://plnkr.co/edit/ooMNzEw2ptWrumwAX5zP?p=preview</a>.</p>