title: Angular 2 converting to Promise
body: <p>I want to fetch data from an API which works like a charm but i am struggling with filtering a single Report by a given id from an "Observable".</p>
  
  <p>Here are some snippets:</p>
  
  <pre><code>getAllReports(): Observable&lt;Report[]&gt; {
      return this.http.get(this.reportUrl)
          .map(res =&gt; res.json().results);
  }
  
  getReports(): void {
      this.reportService.getAllReports()
          .subscribe(
              reports =&gt; this.reports = reports,
              error =&gt; console.log(error)
          );
  }
  
  getSingleReport(id: number): Promise&lt;Report&gt; {
      return this.getAllReports()
          .then(reports =&gt; reports.find(report =&gt; report.id === id));
          // ^ "Property 'then' does not exist on type 'Observable&lt;Report[]&gt;'"
  }
  
  getSingleReport1(id: number): Promise&lt;Report&gt; {
      this.getAllReports()
          .subscribe(
              reports =&gt; this.reports = reports,
              error =&gt; console.log(error)
          );
      return this.reports.find(report =&gt; report.id === id);
      // ^ "Type 'Report' is not assignable to type 'Promise&lt;Report&gt;'"
  }
  </code></pre>
  
  <ol>
  <li><code>getAllReports()</code> is responsible for the communication with the API
  and returns an Ovserable</li>
  <li><code>getReports()</code> inserts the results from the API call in a <code>reports: Report[]</code> aray </li>
  <li><code>getSingleReport()</code> should return a <code>Promise&lt;Report&gt;</code> with the given <code>Observable&lt;Report[]&gt;</code> </li>
  <li><code>getSingleReport1()</code> is my first try fixing the problem which unfortunately also doesn't work </li>
  </ol>
  
  <p>Of course i know where the problems in 3 &amp; 4 are but in don't know how to solve them.</p>
  
  <p>How can i accomplish a conversation from <code>Report</code> or <code>Observable&lt;Report[]&gt;</code> to <code>Promise&lt;Report&gt;</code>.</p>
  
  <p>Any help is highly appreciated.</p>
  
  <p>Thank you.</p>