Estoy usando una aplicación Cordova para incrustar una aplicación React. En cierto punto, el usuario se conecta a la cámara y aparece una notificación cuando se detecta un código QR. Quiero que la ejecución del código espere hasta que el usuario haya ingresado su respuesta "Sí/No", pero no puedo hacerlo funcionar. Sin embargo, el mensaje de aviso de notificación funciona como se esperaba.
Necesito que haga una pausa de alguna manera, como en una async function (como lo haría prompt , por ejemplo). ¿Cómo podría pausar la ejecución del código hasta que el usuario haya elegido Sí/No en la pantalla? Supongo que con algo de async/await pero no veo dónde... Lo he intentado sin éxito hasta ahora:
let test = null; let input2 = null; notification = navigator.notification.prompt("Do you know this QR code?", async function(input) { input2 = input; test = await NotificationFunction(input, Camera_content); console.log(test) console.log('input2') return [test, input2] }); let test2= await notification console.log(test2) console.log(notification) console.log(await test)¡Muchas gracias por adelantado!
Tal vez puedas usar algo como esto:
const promise = new Promise((resolve, reject) => { navigator.notification.prompt( 'Do you know this QR code?', async function (input) { test = await NotificationFunction(input, Camera_content); resolve([test, input]); }, ); }); const [test, input] = await promiseTambién tal vez esto pueda ayudar https://javascript.info/promisify