使用WebSQL进行回调(Phonegap)
问题描述:
我正在使用Sencha Touch为Phonegap &编写应用程序。我有我的viewport.js文件与Sencha接口和databasesFunctions.js与所有数据库和请求函数。使用WebSQL进行回调(Phonegap)
我想打电话给该行viewport.js:
if(launchRequest('SELECT * from items',nombreItems)) alert('there are items');
这里是简化的功能:
function launchRequest(requete,callback){
var db = openDatabase('database', '1.0', 'database', 2 * 1024 * 1024);
db.transaction(function (tx) {
tx.executeSql(requete,[],
function (tx, results) {
return callback(results.rows.length);
});
});
}
function nombreItems(num) {return num;}
我不知道如何让我的函数的返回值。通常情况下,我的函数结尾有一个返回值(在标准SQL中),但是在这里,结果会传送到另一个函数。
答
这段代码会执行你所要求的,因为WebSQL接口是异步的,你不能“返回”值。
launchRequest('SELECT * from items',nombreItems);
function launchRequest(requete,callback){
var db = openDatabase('database', '1.0', 'database', 2 * 1024 * 1024);
db.transaction(function (tx) {
tx.executeSql(requete,[],
function (tx, results) {
callback(results.rows.length);
});
});
}
function nombreItems(num) {
if(num){
alert('there are items');
}
}