javascript-使用WebSQL进行回调(Phonegap)

我正在使用Phonegap& Sencha Touch.我有带Sencha界面的viewport.js文件和具有所有数据库和请求功能的databaseFunctions.js.

我想在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');
    }
}

相关文章

公司前端界面用的是vue,我要嵌入到Android中生成App第一步:...
Q:我用cordova开发项目,想在app内跳转外部链接,安装了cord...
我正在使用https://github.com/arnesson/cordova-plugin-fir...
一、Cordova的基础点在混合式应用中,我们通过现有的Cordova...
cordova自定义插件注意:存放自定义cordova插件目录不能有空...
一、问题VueAPP中有一个文件下载功能,用了各种方法来实现下...