簡體   English   中英

在phonegap中的db事務語句之前警告火災

[英]alert fire before the db transaction statement in phonegap

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事務語句之前。

為什么會這樣發生? 有人可以建議解決方案嗎?

這是一個異步調用,您需要在成功回調中顯示警報:

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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM