javascript - 在phonegap中的数据库事务语句之前发出警报

标签 javascript jquery cordova

db.transaction(function (tx) {
    tx.executeSql('SELECT userid FROM user', [], function (tx,results) {
        var len = results.rows.length;

        for (var i = 0; i < len; i++) {
            userId = results.rows.item(i).userid;
            alert(results.rows.item(i).userid );
        }
    }, dbErrorHandler);
}, dbErrorHandler);

alert(userId);

在上面的代码中,最后一个警报显示在上一个数据库事务语句之前。

为什么会出现这样的情况呢?有人可以提出解决方案吗?

最佳答案

这是一个异步调用,您需要在成功回调中显示警报:

db.transaction(selectDB, errorCB, successCB);

function selectDB(tx) {
    tx.executeSql('SELECT userid FROM user', [], function (tx,results) {
        var len = results.rows.length;

        for (var i = 0; i < len; i++) {
            userId = results.rows.item(i).userid;
            alert(results.rows.item(i).userid );
        }
    }, dbErrorHandler)
}

// Transaction error callback
//
function errorCB(err) {
    alert(err);
    dbErrorHandler;
}

// Transaction success callback
//
function successCB() {
    alert(userId);
}

关于javascript - 在phonegap中的数据库事务语句之前发出警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20616318/

相关文章:

javascript - 如何在背景图像上上下滑动图像以创建扫描效果?

ios - Phonegap 2.9.0 中的摄像头无法正常工作

javascript - 如何在 grunt 和 jade 中使用 SVG

javascript - Three.js 点击事件后沿路径移动相机

javascript - 有没有办法只显示特定行的剑道网格列?

javascript - 如何在 Rails 中将 javascript/jQuery 设置从一个页面传递到另一个页面?

java - Android 中的 Ionic 条码扫描进程崩溃

ios - 在 ios 上使用 visual studio 2015 进行远程调试时出错(惰性符号绑定(bind)失败 : Symbol not found: _map_fd)

javascript - firebase简单登录教程缺少用户

javascript - learnyounode 练习 9 - 输出显示未定义、理解异步或逻辑的问题