TransWikia.com

Array Angular - IONIC

Stack Overflow en español Asked by iSG-Lokimil on August 25, 2020

soy principiante esto y estoy intentado que al pulsar un botón me devuelva los registros de base de datos (firebase) la cuestion es que la primera vez que pulso el botón me dice que :

core.js:6241 ERROR Error: Uncaught (in promise): TypeError: miarray is not iterable
TypeError: miarray is not iterable

En el HTML tengo el botón que llama a esta función :

  async prueba(email, password){
 const loading = await this.LoadingController.create({
    message: 'Loading.....'
});
await loading.present();
this.userService.getTodos().subscribe( res => {loading.dismiss(); this.pruebas = res;});
  let  miarray = this.pruebas;
  if (miarray) 
  console.log(miarray);
  for (let prueba of miarray){
    console.log(prueba);
    }
  }

Lo que pasa es que la segunda,tercera,… vez que pulso el botón si me devuelve bien el array, que debería hacer? Deberia iniciarlo en el ngOnInit ? A continuacion os indico como he creado los arrays de pruebas y miarray que son de tipo UsersI, una interface.

pruebas: UsersI[];
miarray: UsersI[];

One Answer

Pon la inicialización de miarray dentro del bloque del subscribe:

this.userService.getTodos().subscribe( res => {
       loading.dismiss(); 
       this.pruebas = res;
        let  miarray = this.pruebas;
        if (miarray) 
          console.log(miarray);
        for (let prueba of miarray){
          console.log(prueba);
        }
      }
    });
     

Correct answer by Lobos on August 25, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP