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

187
Vistas
Call async function while opening modal in React

I have a functional component and in it I have a function that fetches the cart items of the current user and I want to call it when I am opening a modal (which will show a preview of the current cart items). This doesnt happen in the first moment when I open the modal, but only if I click again on the modal somewhere.

This is the code:


    const handleOpen = () => {
    
        fetchUserCart();
        console.log(currentUserCart);
        setOpen(true);
      
    };
    
    const fetchUserCart = async () => {

        const q = query(collection(db, "users"), where("uid", "==", user?.uid));
        const doc = await getDocs(q);
        const data = doc.docs[0].data();  
        setCurrentUserCart(data.cart);
        console.log(currentUserCart);

    }

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

You need to wait the end of fetchUserCart in handleOpen to log the result. At the first iteration it doesn't wait until your fetch function is finished to go to the next step console.log(currentUserCart);

Do something like this :

    const handleOpen = () => {
        fetchUserCart()
        .then(userCart => console.log(userCart))
      };
    
      const fetchUserCart = async() =>{
        const q = query(collection(db, "users"), where("uid", "==", user?.uid));
          const doc = await getDocs(q);
          const data = doc.docs[0].data();  
          setCurrentUserCart(data.cart);
          return (data.cart)
     }
about 4 years ago · Santiago Trujillo 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