TypeError:无法读取未定义Angular的属性'forEach'

时间:2019-12-09 21:46:07

标签: angular foreach

ObtenerClientes(cantidad: number): Observable<Array<Cliente>> {        
    const urlCliente = `${this.url}/?results=${cantidad}`;        
    const lstClientes: Array<Cliente> = [];    
    return this.http.get<any>(urlCliente).pipe(         
      map(clientes => {        
        (clientes.results as Array<any>).forEach((registro: any ) => {       
          lstClientes.push({   
            id: registro.CustomerID,   
            nombre: registro.ContactName,     
            companyName: registro.CompanyName      
          });           
        });        
        return lstClientes;       
      })    
    );    
  }   
}

请给我一些帮助!

1 个答案:

答案 0 :(得分:0)

您应该尝试在数组上使用map方法。

在这里,尝试一下:

ObtenerClientes(cantidad: number): Observable < Array < Cliente >> {
  const urlCliente = `${this.url}/?results=${cantidad}`;
  const lstClientes: Array < Cliente > = [];
  return this.http.get < any > (urlCliente).pipe(
    map(clientes => (clientes.results as Array < any > ).map((registro: any) => ({
      id: registro.CustomerID,
      nombre: registro.ContactName,
      companyName: registro.CompanyName
    })))
  );
}