Javascript 如何访问executeSql函数外部的变量
如何访问executeSql函数外部的Javascript 如何访问executeSql函数外部的变量,javascript,jquery,scope,web-sql,Javascript,Jquery,Scope,Web Sql,如何访问executeSql函数外部的url变量?(在我想要的地方发表评论) 您的建议没有意义,因为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
变量?(在我想要的地方发表评论)
您的建议没有意义,因为
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);
});
标记错误的问题..?为什么标记错误?@RajaprabhuAravindasamy排序:)-WebSQLI想添加另一个查询并用它的值扩展url变量。我想我只需要这样调用函数,然后在那里扩展它。谢谢@SinanSamet您完全可以这样做,但您需要从
executeSql
回调内部执行。是的,我已经在以这种方式使用函数用于其他目的。但我想也许可以在函数中添加第二个查询,但我不知道executeSql是异步的,谢谢您告诉我:)
generateUrl(15, function(url) {
// URL is visible now
console.log(url);
});