Estoy ocupado con un proyecto de sistema de administración de clientes, pero tengo algunos problemas con mis funciones asíncronas. Hago las llamadas a la API en un archivo js separado APIController\api.js y en el componente UserForm.vue tengo una función asíncrona createUser que se supone que llama a dos funciones portadas en el componente como accesorios. El código es el siguiente:
Tengo la referencia y el APIController importados:
import { ref } from 'vue'; import APIController from '@\Controllers\api';Tengo los accesorios importados:
props: ["toggleForm", "fetchUsers", "userId"],Y finalmente mi función de configuración con la función asíncrona:
setup(props){ const user = ref({}); const createUser = async () => { const success = await APIController.CreateUser(user.value.name, user.value.phone, user.value.address); if(success){ props.fetchUsers(); props.toggleForm(); } } }Aquí está la función APIController.CreateUser() para mayor aclaración:
CreateUser: (name, phone, address) => { if( name == "" || phone == "" || address == "" ) { return false; } else { fetch(API_BASE + "/users/create", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ name, phone, address }) }).then(response => response.json()) .then(data => { if(data.success){ return data.response.user; } else { throw data.response.error; } }).catch(err => { alert(err); }); } },La función ejecuta la llamada a la API perfectamente, pero la instrucción if no se ejecuta en absoluto. Cualquier ayuda será apreciada. Gracias.