Estou tentando fazer uma requisição no metodo ngOnInit da minha aplicação angular, O metodo pega 1 parametro passado pela rota: { path: 'companyhome/:name', component: CompanyhomeComponent },
Apos pegar esse name faco uma busca na api se existe uma empresa com esse name, porem apos a primeira requisição se eu tento acessa a pagina novamente fica carregando infinitamente, coloquei um console.log para ver se esta batendo na api, e os dados apareceram no console do node e no console da api aparece que foi feito 1 requisição não sei oque pode ser, já pesquisei em varios lugares.
este é meu component @Component({ selector: 'app-companyhome', standalone: true, imports: [CommonModule], templateUrl: './companyhome.component.html', styleUrl: './companyhome.component.css' }) export class CompanyhomeComponent implements OnInit{ constructor( private route: ActivatedRoute, private companyService: FindCompanyByNameService ){} dataCompany: any;
ngOnInit(): void { const name = this.route.snapshot.params["name"]; this.companyService.getCompanyByName(name) .pipe(tap(data => console.log('Data received:', data))) .subscribe(dataCompany => { this.dataCompany = dataCompany; }); }
} e este é o servico de busca na api @Injectable({ providedIn: 'root' }) export class FindCompanyByNameService {
private API = environment.apiUrl;
constructor(private http: HttpClient) { }
getCompanyByName(name: string): Observable {
return this.http.get(${this.API}/company/name/${name}
).pipe(
catchError(error => {
console.error('Error fetching company by name:', error);
return throwError(error);
})
);
}
}