A function whose declared type is neither 'void' nor 'any' must return a value.

表題のエラーは、戻り値を指定している関数において何もreturnしなかった場合に発生します。 例:

  getHero(id: number): Promise<Hero> {
    this.getHeroes().then( promised_heroes => promised_heroes.find( hero => hero.id === id)); // returnが抜けている
  }