title: Angular 4 How to return multiple observables in resolver
body: <p>As the title states, I need to return multiple observables or maybe results. The goal is basically to load let's say a library list and then load books based on that library IDs. I don't want to call a service in components, instead I want all the data to be loaded before the page load.</p>
  <pre class="lang-ts prettyprint-override"><code>import { Injectable } from '@angular/core';
  import { Resolve, ActivatedRouteSnapshot } from '@angular/router';
  import { UserService } from './../_services/index';
  
  @Injectable()
  export class LibraryResolver implements Resolve&lt;any&gt; {
      constructor(private _userService: UserService) {}
  
      resolve(route: ActivatedRouteSnapshot) {
          return this._userService.getLibraryList();
      }
  }
  </code></pre>
  <p>How can I load library list first and then load book info for each library and return to my component?</p>
  <p>PS: My service got this method to load by Id</p>
  <pre class="lang-ts prettyprint-override"><code>this.userService.getLibraryBooks(this.library[&quot;id&quot;]).subscribe((response) =&gt; {
   // response processing
  })
  </code></pre>