首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使SQLite SELECT语句在phonegap中工作

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

Stack Overflow用户
提问于 2013-07-23 00:48:42
回答 1查看 2.2K关注 0票数 1

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

代码语言:javascript
复制
/********************
 * 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)

让我头疼的部分试图使用上面的函数从表中选择所有内容。我遇到的问题是,通过这样做,我获得了超出我能力范围的异步行为……

下面是尝试选择内容的代码:

代码语言:javascript
复制
var results;
if( results = db.select('SELECT * FROM my_table WHERE 1') )
{
    alert("Result in index.html success: " + results);
    // Do stuff with query results here...
}
else
{
    alert("Result in index.html failure: " + results);
}

执行此操作时,

代码语言:javascript
复制
alert("Result in index.html failure: " + results);

是我看到的第一个输出。它似乎甚至在select开始之前就执行了。我做错了什么?

另外,我不确定如何从SELECT-function返回结果。因为有嵌套的函数,我不知道如何优雅地处理它。这部分有什么想法吗?

万分感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-23 01:23:54

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

db.select在数据可用之前返回;任何访问数据的代码都必须在executeSqltransaction回调函数中,或者在从那里调用的函数中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17793081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档