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

160
Views
No se pueden obtener elementos de datos de la matriz en Angular CLI

Estoy trabajando en angular y nuevo en la codificación, el problema al que me enfrento es que estoy obteniendo datos de una WebAPI de terceros y la salida que estoy tratando de guardar en una matriz, pero la salida se almacena pero no puedo llamar a datos particulares de formación.

aquí está mi código a continuación, necesito todo su amable apoyo

MI CÓDIGO

 import { Component, OnInit } from '@angular/core'; import { SharedService } from 'src/app/shared.service'; @Component({ selector: 'app-taglist', templateUrl: './taglist.component.html', styleUrls: ['./taglist.component.css'] }) export class TAGLISTComponent implements OnInit { constructor(private service : SharedService) { } Taglist:any=[]; TagStore:any=[]; FinalData:any=[]; ngOnInit(): void { this.refreshTagslist(); } refreshTagslist(){ this.service.gettaglist().subscribe(data=>{ this.Taglist = data; //console.log(this.Taglist); for(var i = 0; i < this.Taglist.Items.length;i++) { this.service.PITagValue= this.Taglist.Items[i].Links.Value; this.service.gettagValue().subscribe(data=>{ this.TagStore = data;/* THE JSON RESPONE MENTION*/ this.FinalData.push(this.TagStore.Value); }) } console.log(this.FinalData) console.log(this.FinalData[1]); //console.log(this.Taglist.Items[0].Name); }) } }

RESPUESTA JSON

 { "Timestamp": "2022-01-12T12:15:37Z", "Value": 1.0, "UnitsAbbreviation": "", "Good": true, "Questionable": false, "Substituted": false, "Annotated": false }

la salida que estoy obteniendo

ingrese la descripción de la imagen aquí

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

0

Si this.service.gettagValue() devuelve un observable asíncrono, entonces las declaraciones de console.log que registran this.FinalData y this.FinalData[1] se ejecutarán antes de la ejecución de las siguientes líneas.

 this.TagStore = data;/* THE JSON RESPONE MENTION*/ this.FinalData.push(this.TagStore.Value);

Las siguientes declaraciones de registro se ejecutarán antes de que los datos se inserten en this.FinalData

 console.log(this.FinalData); // here this.FinalData would be [] console.log(this.FinalData[1]); // Trying to access 1st element from empty array will result in undefined

Puede ver los datos dentro de la consola de Chrome, porque el valor se evalúa en la primera expansión. Pruebe a continuación la declaración de la consola, y verá una matriz vacía impresa:

 console.log(JSON.stringify(this.FinalData)); // instead of console.log(this.FinalData)

También le recomendaría explorar el operador forkJoin RxJS y ver si sería útil para su caso de uso. El operador básicamente espera a que se completen todos los Observables y luego combina el resultado.

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!