[英]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.