Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

226
Views
¿Por qué el constructor de HttpClient en Angular no necesita param, cuando lo instalo a través del constructor de otra clase, pero lo necesita a través de new?

Necesito crear un método estático para instanciar un objeto de clase, pero encontré un problema.

 import { HttpClient } from '@angular/common/http'; export MyClass { // Case 1 public static init(): MyClass { return this(new HttpClient(***), ....); // Need to pass new HttpClient() instead *** } // Case 2 public constructor(private http: HttpClient, ....) {} // Need to pass nothing }

¿Por qué tengo que pasar el argumento en el caso 1, pero no en el caso 2? ¿Y cómo solucionar mi problema?

about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

Responder

Esto sucede gracias a la inyección de dependencia . angular dice:

La inyección de dependencia, o DI, es un patrón de diseño en el que una clase solicita dependencias de fuentes externas en lugar de crearlas.

En su caso, no necesita "crear" ese recurso, sino simplemente usarlo, y para eso la inyección de dependencia viene en su ayuda.

Os recomiendo echar un vistazo a la documentación oficial de Angular, ¡siempre muy clara y bastante útil!

¿Y cómo solucionar mi problema?

Si solo necesita usar HttpClient, haga lo mismo que en // Case 2 el Caso 2 y sin necesidad de inicializar nada ; de lo contrario, si puede , explique mejor cuál es su objetivo y cómo no puede lograrlo para que podamos ayudarlo, ¡gracias!


Avísame si tienes alguna duda ;)

about 4 years ago · Santiago Gelvez Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!