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

187
Views
Angular: variable de acceso que se declara dentro de la función de suscripción

Estoy tratando de acceder a una variable dentro de una función de suscripción pero me regresa indefinido, por favor alguna sugerencia:

 export class InboxmanagementComponent implements OnInit { releveBancaireId: number; ngOnInit(): void { this.displayTaskByIdDetails(); this.displayReleveBancaireById(); } displayTaskByIdDetails(){ this._inboxServcie.getTask(this.task.id).subscribe( (data) => { this.task = data; this.releveBancaireId = data.releveBancaireId; // this is the variable I want to access console.log(this.releveBancaireId) // this returs 1 which is right "releveBancaireId" has value 1 } ); } displayReleveBancaireById(){ this._relebeBancaireService.getReleveBancaireById(this.releveBancaireId).subscribe( // this is where I want to access that variable as a parameter (data) => { this.releveBancaire = data; console.log(data); } ); } }

this.task dentro de la función displayTaskByIdDetails devuelve esto:

ingrese la descripción de la imagen aquí

Lo que significa que tengo que usar esa propiedad releveBancaireId que se devuelve desde displayTaskByIdDetails y usarla en otra función que llama a un servicio como parámetro

Este es mi servicio que necesita releveBancaireId como parámetro:

 getReleveBancaireById(id: number): Observable<ReleveBancaire>{ const taskIdUrl = `${this.baseUrl}/${id}`; return this.httpClient.get<any>(taskIdUrl).pipe( map((response: any) => response) ); }

Al compilar la consola devuelve undefined

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Ok, dado que las llamadas son secuenciales, es una oportunidad perfecta para usar mergeMap para encadenar múltiples solicitudes. dado que aún necesita los datos de la primera solicitud, puede tocar esos datos y recuperarlos. y en la suscripción final obtendrá los datos de la solicitud final.

 export class InboxmanagementComponent implements OnInit { releveBancaireId: string; ngOnInit(): void { this.displayTaskByIdDetails(); } displayTaskByIdDetails(){ this._inboxServcie.getTask(this.task.id).pipe( tap(taskData=>{ this.task = taskData this.releveBancaireId = taskData.releveBancaireId; // incase you still need this. }), mergeMap(data=>{ return this._relebeBancaireService.getReleveBancaireById(data.releveBancaireId); })).subscribe((data) => { this.releveBancaire = data; console.log(data); }); } }
about 4 years ago · Juan Pablo Isaza 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!