如何在SQLite Javascript数据库上获取返回的函数?
我使用下面的函数来执行SQL,当不需要返回时,它可以正常工作,但是如果我执行类似“SELECT*FROM如何在SQLite Javascript数据库上获取返回的函数?,javascript,sqlite,Javascript,Sqlite,我使用下面的函数来执行SQL,当不需要返回时,它可以正常工作,但是如果我执行类似“SELECT*FROMtable”这样的查询,它将不会返回任何内容。功能是: function executeSQL(query) { return db.transaction(function(q) { return q.executeSql(query, null, function (q, results) { debug(results); return r
table
”这样的查询,它将不会返回任何内容。功能是:
function executeSQL(query)
{
return db.transaction(function(q)
{
return q.executeSql(query, null,
function (q, results)
{
debug(results);
return results;
},
function (q, error)
{
debug(error);
}
);
});
}
我称之为:
results = executeSQL('SELECT * FROM `table`');
事务函数是异步的:它不会等待您作为参数提供给它的函数返回,实际上可能不会返回任何内容 我认为不可能编写返回结果的包装器函数,除非您在循环中等待,这对于JavaScript来说是有问题的,也是不可取的
function executeSQL(query, callback) {
db.transaction(function(q) {
q.executeSql(query, null, function (q, results) {
callback(results);
}, function (q, error) {
debug(error);
});
});
}
var query = "SELECT 1";
executeSQL(query, function(result) {
alert(result);
});
alert("When am I?"); // this may get called before alert(result)