0

我正在尝试创建一个小插件,使使用 SQLite 数据库更容易一些。除了从数据库中选择数据外,我还有基本的 CRUD 功能。

我想从 executeSql 函数返回选定的数据,但似乎我所能做的就是调用另一个方法,而不仅仅是返回数据。

所以我想做的是:

var data = $(window).dbPlugin( 'select', '*', 'tableName', 'conditions' );

然后我想使用“数据”变量作为查询中的 SQLResultSet。但是,事务似乎只允许我调用数据处理程序方法,而不仅仅是返回结果。

testDB.transaction(  
    function ( transaction ) {  
        transaction.executeSql( sql, [], dataHandler, errorHandler);  
    }  
);

function dataHandler( transaction, results ) {
    // Now I can work with the "results" as the SQLResultSet
}

任何想法如何只返回选定的数据,或者是否有可能?

4

1 回答 1

0

SQLlite 是异步的,没有任何方法可以避免这种情况。您可以将要调用的函数作为回调传递给 .dbPlugin 方法。在条件传递另一个值之后,该值是运行查询后要调用的函数。然后在你的回调函数中设置数据。

这很烦人,我最近写了一些你在我上一个项目上写的东西。我使用了一个名为 blockUI 的 jQuery 插件,它实际上会在 SQL 调用期间阻塞接口,这使它看起来更“同步”

祝你好运。

于 2010-11-14T02:08:33.890 回答