Entonces, el usuario solicita algunos datos, pero se le solicita un desafío de captcha de antemano ... cuando se resuelve el desafío, el componente de captcha emite un evento con un token que debe incluirse en la solicitud.
Mi pregunta es: ¿puedo usar una promesa para esperar a que se resuelva el desafío y luego hacer la solicitud con el token? ¿Puedo escuchar un evento de componente secundario como este y luego resolver la promesa?
Si esta no es la forma correcta de manejar tal situación, ¿alguien podría indicarme la dirección correcta? ¡Gracias!
Puedo escuchar el evento del componente secundario con v-on:verified pero quiero activar el desafío al realizar la solicitud y luego continuar con él después de que el usuario resuelva el captcha.
//component.ts import captchaComponent from '...'; function executeCaptchaChallenge(){ // executes challenge on child component via boolean prop this.runChallenge = true; return new Promise(resolve => { //listen to child component event then resolve promise with token emitted (example) child.$on('verified', token => {resolve(token)} }) } function async getData(){ const token = await this.executeCaptchaChallenge(); const response = await axios.post(URL, token); } ///component.vue <template> <div> <button @click="getData">GET DATA</button> <captchaComponent @verified="(token) => console.log(token)" /> </div> </template> <script src="component.ts"></script>