У меня есть фрагмент кода, в котором у меня есть переменная данных с заданным объявлением. Но когда я перебираю объект данных, я получаю сообщение об ошибке, как показано ниже:
"невозможно вызвать выражение, тип которого не имеет сигнатуры вызова"
export class AppComponent {
title = 'app works!';
data : any[] | Observable<any[]>;
constructor()
{
this.data.forEach(function(d)
{
});
}
}
Не уверен, что это проблема машинописного текста или из-за неправильного объявления типа.
forEach
означает что-то совершенно другое для массива и наблюдаемого (относительно наблюдаемого, см. этот ответ, найденный в веб-поиск), поэтому нет особого смысла вызыватьforEach
для переменной, которая может содержать либо массив или наблюдаемое. Откуда вы беретеthis.data
, что побудило вас придать этому типу союза? - person Matt McCutchen   schedule 27.09.2018