Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

140
Vistas
Why does the service return me undefined when I request an item in Angular?

I have a service in Angular that returns an array of Any types

import { Injectable } from '@angular/core';
import axios from "axios";

@Injectable({
  providedIn: 'root'
})

export class BooksService {

  private books:any[] = [];

  constructor() {
    this.books = this.getData()
  }

  getData()
  {
    axios.get(`https://localhost:3000/api/get`)
      .then(data => {
          return data;
      })
      .catch(error => {
          return error; 
      })
  }

  getBooks():any[]
  {
    return this.books;
  }

  getBook(idx:number):any
  {
    return this.books[idx]
  }
}

so when in my component I call the 'getBooks' function I get the following

enter image description here

which works fine, but when I call the 'getBook()' function

console.log(this._booksService.getBook(1))

It returns 'undefined', does anyone know why?

enter image description here

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

I think it's because the console.log function is not 'waiting' for the get request to get through. You should call the getBook function on the constructor, or anyways before calling console.log.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda