Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

375
Visualizações
Implementación de función duplicada en Typescript

Estoy escribiendo un adaptador para HttpClient de Angular y necesito dos funciones de obtención distintas. Uno que devuelve un Blob y otro que devuelve un genérico. Pero cuando trato de implementarlo, me sale el error:

TS2393: Implementación de función duplicada.

 get<T>(url: string, options?: { headers?: HttpHeaders | { [header: string]: string | string[]; }; context?: HttpContext; observe?: 'body'; params?: HttpParams | { [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>; }; reportProgress?: boolean; responseType?: 'json'; withCredentials?: boolean; }): Observable<T> { return this.handleRequest(this.http.get<T>(url, options)); } get(url: string, options: { headers?: HttpHeaders | { [header: string]: string | string[]; }; observe: 'response'; context?: HttpContext; params?: HttpParams | { [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>; }; reportProgress?: boolean; responseType: 'blob'; withCredentials?: boolean; }): Observable<HttpResponse<Blob>> { return this.handleRequest(this.http.get(url, options)); }

No entiendo que esto sea un error cuando la implementación real de las funciones get en la clase HttpClient se ve casi igual.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No puede tener dos funciones con el mismo nombre (y dentro del mismo alcance) en javascript. En su lugar, debe crear una sola función que pueda determinar qué argumentos tiene y hacer lo correcto, luego, con mecanografiado, puede escribir dos firmas de funciones diferentes para obtener los tipos correctos, por ejemplo:

 get<T>(url: string, observe: 'body'): Observable<T>; get(url: string, observe: 'response'): Observable<HttpResponse<Blob>>; get(url: string, observe: 'body' | 'response') { if (observe === 'body') { // ... implementation } else { // ... implementation } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda