Возможно, я не совсем понял концепцию Promise () в Angular, но как мне изменить приведенный ниже код, чтобы checkExistence () мог возвращать логическое значение?
public checkExistence(value: string): boolean{
var exist = false;
return this.getRefData().then((rec: string[]) => {
return rec.some(el => {
el === value;
});
});
}
private async getRefData() {
return await this.configurationService.retrieveTableData().toPromise();
}
В этот момент выдается ошибка в checkExistence (): [ts] Type 'Promise<any>' is not assignable to type 'boolean'
EDIT
Удалось избавиться от вышеуказанной ошибки, выполнив это:
public checkExistence(value: string): boolean{
var exist = false;
this.getRefData().then((rec: string[]) => {
return rec.some(el => {
return el === value;
});
});
}
Теперь проблема в том, что функция на самом деле ничего не возвращает [ts] A function whose declared type is neither 'void' nor 'any' must return a value.
Почему она ничего не возвращает?