title: Type 'Promise<boolean | void>' is not assignable to type 'boolean'
body: <p>I cannot understand why it's saying I can't assign the return of a promise to a boolean type. Any other way I have tried this tells me I can't assign a void to type boolean. Not sure what to do from here</p>
  
  <p>I am trying to assign the output of checkJWT to the resolution of a promise. It logically makes sense to me that I could do this, but typescript doesn't like it.</p>
  
  <pre><code>import { Injectable } from '@angular/core';
  import { HttpClient } from '@angular/common/http';
  
  
  import { NotificationService } from '../index';
  import { UserInterface } from '../../../models/index';
  
  @Injectable({
    providedIn: 'root'
  })
  export class AuthService {
  
    constructor( 
      private notificationService: NotificationService,
      private httpClient: HttpClient
     ) { }
  
    checkJWT(role):boolean {
      let canVisit: boolean = this.httpClient.get(window.location.protocol + '//' + window.location.hostname + ':3000/authenticate')
      .toPromise()
      .then(
        (user: UserInterface) =&gt; { 
          return role === user.role;
      }
      ) .catch((err) =&gt; { this.notificationService })
      return canVisit;
    }
  </code></pre>