Как передать результат executeSql в функцию в JavaScript

Здравствуйте, я делаю запрос к веб-таблице Sql и хочу, чтобы результат передал его независимой функции, я оставляю код (значение, которое я хочу передать, - это значение переменной xa и имя функции get_textrandom ), когда я выполняю код, он говорит мне, что переменная xa не определена.

    //Extraemos los datos de la tabla.
    sqlselect = "SELECT texto FROM textos  WHERE npregunta = '"+npreg+"'";
    tx.executeSql(sqlselect,[],function (tx, result){

            if (result.rows.length){
                for (var i = 0; i < result.rows.length; i++){
                     row = result.rows[i];
                     x += row.texto + ",";
                }
                //Quitmos la ultima coma
               var xa = "["+x.substring(0, x.length-1)+"]";
            }else{
                console.log("No items");
            }
        },error);       
});


function get_textrandom(xa){

    var i = Math.floor((Math.random() * 6) + 1);
    $("#text2").html(xa[i]);
}
0
задан 26.01.2017, 01:16
0 ответов

Протестируй следующее

  //Extraemos los datos de la tabla.
    sqlselect = "SELECT texto FROM textos  WHERE npregunta = '"+npreg+"'";
    tx.executeSql(sqlselect,[],function (tx, result){

            if (result.rows.length){
                for (var i = 0; i < result.rows.length; i++){
                     row = result.rows[i];
                     x += row.texto + ",";
                }
                //Quitmos la ultima coma
               var xa = "["+x.substring(0, x.length-1)+"]";
               get_textrandom(xa);
            }else{
                console.log("No items");
            }
        },error);       
});


function get_textrandom(xa){

    var i = Math.floor((Math.random() * 6) + 1);
    $("#text2").html(xa[i]);
}

Adicionalmente имей в виду, что консультации в Веб SQL асинхронные.

0
ответ дан 03.12.2019, 17:30