Javascript 无法使SQLite SELECT语句在phonegap中工作

Javascript 无法使SQLite SELECT语句在phonegap中工作,javascript,android,sqlite,cordova,Javascript,Android,Sqlite,Cordova,我写了一个对象,让我更容易地使用Phonegap的数据库。SELECT语句的部分如下所示: /******************** * Database SELECT: * ********************/ global.select = function(query) { var resultSet = null; db.transaction(function(tx){ // Do SQL stuff here: tx.executeSql

我写了一个对象,让我更容易地使用Phonegap的数据库。SELECT语句的部分如下所示:

/********************
 * Database SELECT: *
 ********************/
global.select = function(query)
{
    var resultSet = null;

    db.transaction(function(tx){ // Do SQL stuff here:
        tx.executeSql(query, [], function(tx, results){ // Success:
            // When results are there:
            if(results != null)
            {
                // return them for using them:
                resultSet = results;
                alert("Results are here: " + results);
            }
            // In all other cases:
            else
            {
                // Return false (error):
                return false;
            }
        }, function(error){ // Error:
            global.logError(error);
        });
    }, function(error){ // Error:
        global.logError(error);
    }, function(){ // Success:
        consoleLog("SELECT complete!");
        alert("Return would be: " + resultSet);
        return resultSet;
    });
} // <-- global.insert = function(query)
执行此操作时

alert("Result in index.html failure: " + results);
是我看到的第一个输出。它似乎在select启动之前执行。我做错了什么

另外,我不知道如何从SELECT函数返回结果。由于存在嵌套函数,我不知道如何优雅地处理它。这方面有什么想法吗

万分感谢

这些回调是异步的;WebSQL就是这样设计的


db。选择
在数据可用之前返回;任何访问数据的代码都必须在
executeSql
事务
回调函数中,或者在从那里调用的函数中。

感谢您指出这一点!换句话说,使用上述方法不可能使数据库调用变得更容易一些?我还有别的方法可以做到这一点吗?现在,我会用“艰难的方式”去做数据库调用从来都不容易;你总是需要将多个函数链接在一起。好的,再次感谢你+我接受了你的答案。对于那些面临同样问题的人:我最终使用代码模板来创建代码。。。不完美,但比每次从头开始编码要好得多!:)
alert("Result in index.html failure: " + results);