Получение некоторой ошибки при зацикливании массива Angular6

У меня есть фрагмент кода, в котором у меня есть переменная данных с заданным объявлением. Но когда я перебираю объект данных, я получаю сообщение об ошибке, как показано ниже:

"невозможно вызвать выражение, тип которого не имеет сигнатуры вызова"


export class AppComponent {
  title = 'app works!';
  data : any[] | Observable<any[]>;

  constructor()
  {
    this.data.forEach(function(d)
    {

    });
  }
}

Не уверен, что это проблема машинописного текста или из-за неправильного объявления типа.


person manish    schedule 26.09.2018    source источник
comment
Метод forEach означает что-то совершенно другое для массива и наблюдаемого (относительно наблюдаемого, см. этот ответ, найденный в веб-поиск), поэтому нет особого смысла вызывать forEach для переменной, которая может содержать либо массив или наблюдаемое. Откуда вы берете this.data, что побудило вас придать этому типу союза?   -  person Matt McCutchen    schedule 27.09.2018
comment
на самом деле он исходит из пакета модуля узла ngx-formly/core, и мы проходим через templateoption этого файла . Но я получил решение этого. путем приведения типов. например var result = data as any[];   -  person manish    schedule 28.09.2018


Ответы (1)


Я получил решение, выполнив приведение типов, как показано ниже.

var result = this.data as any[];
result.forEach(function(d)
{

});
person manish    schedule 28.09.2018