Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 处理数据库事务返回_Javascript_Database_Transactions_Return - Fatal编程技术网

Javascript 处理数据库事务返回

Javascript 处理数据库事务返回,javascript,database,transactions,return,Javascript,Database,Transactions,Return,这里我有一个函数,它应该返回秒数作为变量sec,但是return语句在数据库事务之前运行,所以我一直没有定义。如何确保事务在返回调用之前完成。类似于XMLHttpRequest的onreadystatechange function getLevelSeconds (index) { var sec; db.transaction(function (tx) {tx.executeSql('SELECT * FROM SPLevelData', [], function (tx,

这里我有一个函数,它应该返回秒数作为变量sec,但是return语句在数据库事务之前运行,所以我一直没有定义。如何确保事务在返回调用之前完成。类似于
XMLHttpRequest
onreadystatechange

function getLevelSeconds (index) {
    var sec;
    db.transaction(function (tx) {tx.executeSql('SELECT * FROM SPLevelData', [], function (tx, result) {sec=result.rows.item(index).seconds;}, errorCB)}, errorCB);
    return sec;
}
实现回调 有关详细信息,请参阅答案

function getLevelSeconds (index, callback) {
    db.transaction(function (tx) {
        tx.executeSql('SELECT * FROM SPLevelData', [], function (tx, result) {
            sec=result.rows.item(index).seconds;
            typeof callback == "function" && callback(sec);
        }, errorCB);
    }, errorCB);
}

getLevelSeconds(index, function(sec) {
    alert(sec);
});