QWebEnginePage::runJavaScript ejecución función asíncrona



  • Hola buenas estoy intentando ejecutar una función javascript en una QWebEnginePage y me retorne el valor de la función todo funciona ok con una función normal pero cuando la función es async no espera a que termine el proceso y devuelve " ". Tambíen lo e intentado con funciones generadoras en javascript y tmp me funciona...

    //Aqui codigo QT
    view->page()->runJavaScript("getElemento();", [](const QVariant &v) {QMessageBox::information(NULL,"xdxd" ,v.toString()); });

    //javascript
    "use strict";

    function getObj() {
    return new Promise((ok, fail) => {
    setTimeout(() => {

            ok({
                value: 'hola'
            });
    
        }, 1000);
    });
    

    }

    async function run() {

    let obj = await getObj();
    console.log(obj.value);
    return obj.value;
    }
    run();



  • La funcion dentro de runJavaScript es run() no getElemento()..
    view->page()->runJavaScript("run();", [](const QVariant &v) {QMessageBox::information(NULL,"xdxd" ,v.toString()); });


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.