тип 'void' не является допустимым возвращением асинхронной функции в ES5, потому что
не ссылается на pPromise-совместимое значение конструктора
вы получаете ошибку, потому что при использовании async/await
тип возвращаемого значения будет Promise
обернутым объектом, поэтому тип возвращаемого значения функции должен быть Promise<returntype>
, а в вашем случае это будет
private async getTranslations() : Promise<void> {
// this.translations is a public variable used by the html
this.translations = await this._languageService.getTranslations('Foo').toPromise();
}
и если вы используете angular, то сервис в основном возвращает объект observable
, поэтому вам необходимо преобразовать его в promise
объект, вызвав toPromise()
функцию вызова (если вы не введете toPromise
, запрос не будет запущен если вы использовали httpClient в своем сервисе для получения результата.).