簡體   English   中英

我如何在executeSql函數之外訪問變量

[英]How can I access a variable outside executeSql function

如何在executeSql函數外部訪問url變量? (在我想要的地方留言)

function generateUrl(id, callBack){
    var db = window.openDatabase("Database", "1.0", "Marktplaats", 200000);
    db.transaction(function (tx) {

    tx.executeSql('SELECT * FROM searches, settings', [], function (tx, results) {
         var url = "http://google.nl";
    }, null);

    //I want to access the url variable here
    });
}

您的建議沒有意義,因為executeSql是異步的。

tx.executeSql('SELECT * FROM searches, settings', [], function (tx, results) {
     var url = "http://google.nl";
     // This is executed 2nd
}, null);

//This is executed 1st
});

因此,在您發表評論時, url不可能有一個值。

您應該做的是使用那個callBack參數,您必須將url傳遞回調用者:

tx.executeSql('SELECT * FROM searches, settings', [], function (tx, results) {
     var url = "http://google.nl";
     callBack.call(this, url);
}, null);

然后,您可以將generateUrl調用為:

generateUrl(15, function(url) {
    // URL is visible now
    console.log(url);
});

暫無
暫無

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

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