imageUrl=''; getImage(email).then((url) => { imageUrl = url console.log('imageUrl1:',imageUrl); }) console.log('imageUrl2:',imageUrl);
3 Réponses :
getImage(email).then((url) => { imageUrl = url console.log('imageUrl1:',imageUrl); }) .then will always run after the getImage() is executed. That would mean your imageUrl2 will run first in this case.
Ce que vous voyez est attendu dans JavaScript et n'a rien à voir avec le SDK Firebase que vous utilisez. En JavaScript, des fonctions qui renvoient une promesse sont Dans votre cas spécifique, votre deuxième ligne de journalisation imprimera immédiatement avec la valeur de chaîne vide initiale de puis code> renvoie également une promesse asynchrone. Il ne bloque pas l'exécution de votre code ni attendre que la promesse devienne résolue. strong> Votre code continuera à exécuter après tout
puis code> ou
attrape code>. p>
imageURL code>. La fonction de rappel que vous fournissez à
puis code> sera appelée
getImage code> est remplie avec une valeur. P >
Essayez ceci
Ne travaillez pas -> Impossible d'utiliser le mot-clé «Await» en dehors d'une fonction Async. Merci
c'est juste le parent doit être une fonction ASYNC qu'il doit être à l'intérieur d'une fonction asynchrone