0
votes

Attendre renvoie un objet, mais lorsque vous récupérez les valeurs, ils sont indéfinis

J'essaie d'extraire une valeur de mon Firebase dB et j'utilise le code suivant: xxx

Les résultats que je reçois de chaque console.log sont ceux-ci:

Le ref renvoie xxx

mais ref.code retourne non défini < / p>

Capture d'écran

J'ai passé heures sur mon code et Stackoverflow et n'a pas pu trouver une réponse. Espérons que vous pourriez.


5 commentaires

Êtes-vous sûr que console.log (ref.code) montre non défini ? Pouvez-vous montrer une capture d'écran? Je pense que ce qui est plus probable que vous do obtenez 665195 mais la ligne suivante est une erreur n'est pas définie ("non défini" n'est pas La même chose que "non définie"!), qui est parce qu'il n'y a pas de code variable dans votre code. Vous voulez probablement retour ref.code à la place ou alternativement Const code = ref.code avant le code de retour .


Ouais, donc je l'ai réparé ci-dessus et je l'ai changé pour "retourner ref". Le problème est la console.logs, je ne peux pas avoir mes mains sur ref.code .


Veuillez afficher une capture d'écran de votre console.


L'a ajouté dans le post original


C'est une sortie étrange, ce n'est pas un objet régulier. Il semble que ce soit une représentation personnalisée d'inspecter. Donc La réponse de Maulikdhameliya la résout probablement probablement :)


3 Réponses :


0
votes

ne devrait pas que la variable ref code> soit renvoyée? Vous n'avez rien déclaré nommé code code> pourquoi il est indéfini.

export const getCode = async key => await database.ref ('games/' + key).once('value').code


3 commentaires

Ou renvoie ref.code probablement, puisque la fonction est appelée getcode


Eh bien, j'ai essayé cela, il est toujours indéfini. Le point est que "Code" est une clé à l'intérieur de l'objet retourné, mais lorsque j'essaie de l'utiliser spécifiquement, il est indéfini.


Désolé, je vois maintenant que je retourne "code" au lieu de "ref". Mais ce n'est pas ce que ma question est à propos. S'il vous plaît seulement regarder la console.log 's



0
votes

si ref code> est connecté comme suit:

Object {
  "code": 665195,
  "users": Object {
    "-MA5m0PrOWUuz-KdcmRx": Object {
      "username": "לעג",
    },
  },
}


0 commentaires

2
votes

Vous n'avez pas utilisé refnval () pour obtenir des valeurs.

Essayez P>

export const getCode = async key => {
      let ref = await database.ref('games/' + key).once('value');
      const data = ref.val();
      console.log(data);
      console.log(data.code);
      return data.code;
    };


0 commentaires