title: How do you unsubscribe to apollo observable in angular?
body: <p>I'm building an angular (4.x) application using apollo-angular, and I'm wondering how to unsubscribe from apollo observables (if you need to at all). </p>
  
  <p>I'm trying to follow the guidance in <a href="https://stackoverflow.com/a/41177163/5141687">this response</a> by creating a query: </p>
  
  <pre><code>this.query = this.apollo.watchQuery&lt;LatestReportQueryResponse&gt;({
    fetchPolicy: 'network-only',
    query: myQuery
  });
  </code></pre>
  
  <p>Assigning a new subject:</p>
  
  <pre><code>  private ngUnsubscribe: Subject&lt;void&gt; = new Subject&lt;void&gt;();
  </code></pre>
  
  <p>Subscribing to the query:</p>
  
  <pre><code>this.query.takeUntil(this.ngUnsubscribe).subscribe(({ data }) =&gt; {...}
  </code></pre>
  
  <p>and then destroying all active observables on a <code>onDestroy</code> event cycle with something like:</p>
  
  <pre><code>ngOnDestroy() {
      this.ngUnsubscribe.next();
      this.ngUnsubscribe.complete();
    }
  </code></pre>
  
  <p>After adding the <code>.takeUntil(this.ngUnsubscribe)</code>, I  run into lint errors like: </p>
  
  <blockquote>
    <p>Argument of type 'Subject' is not assignable to parameter of type 'Observable'.</p>
  </blockquote>
  
  <p>Or when I try to manually unsubscribe to the ApolloQueryObservable, I get:</p>
  
  <blockquote>
    <p>Property 'unsubscribe' does not exist on type 'ApolloQueryObservable'. Did you mean 'subscribe'?</p>
  </blockquote>
  
  <p>Is unsubscribing necessary for apollo observables? </p>