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

157
Views
Unable to fetch data items from array in Angular CLI

I working on angular and new at coding the issue I am facing is that I am fetching data from a 3rd party WebAPI and the output I am trying to save in array but the output is getting stored but I am not able to call particular data of array.

here is my code below need all of your kind support

MY CODE

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);
   })
 }
}

JSON RESPONE

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

the output I am getting

enter image description here

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

0

If this.service.gettagValue() returns an async observable, then the console.log statements logging this.FinalData and this.FinalData[1] would be executed before the execution of below lines.

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

The below log statements would be executed before the data is pushed into 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

You are able to view data within Chrome console, because the value gets evaluated upon 1st expanding. Try below console statement, and you would be see an empty array printed:

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

I would also recommend you to explore forkJoin RxJS operator and see if that would be useful for your use case. The operator basically waits for all the Observables to complete and then combine the result.

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!