var db = openDatabase('tournament', '1.0', 'Scoring', 2 * 1024 * 1024);
var msg;
db.transaction(function (tx) {
tx.executeSql("SELECT ballno FROM app_t20_balldetails order by ballno desc", [],
function(tx, result)
{
msg = result.rows.item(0).ballno;
alert(msg);
});
});
alert(msg);
此代码显示两条警报消息,其中一条7
和第二条undefined
。我可以做些什么来在两个警报中获得价值7?
答案 0 :(得分:0)
var fetchBallNo = function (callback){
var db = window.openDatabase('tournament', '1.0', 'Scoring', 2 * 1024 * 1024);
var msg;
db.transaction(function (tx) {
tx.executeSql("SELECT ballno FROM app_t20_balldetails order by ballno desc", [],
function(tx, result)
{
msg = result.rows.item(0).ballno;
alert(msg);
});
}, function(tx, error) {
window.alert("Transaction Error: " + error + tx.message);
callback(null);
}, function(tx) {
callback(msg);
});
};
fetchBallNo(function(msg){
if(msg) {
window.alert(msg);
} else {
window.alert('Value not found');
}
});
这将有助于您在两个警报中获得相同的输出。 由于Websql API是异步的,因此您必须使用回调
或
使用JQuery deffered promises,你可以在这里找到第二种方式的详细信息https://api.jquery.com/jquery.deferred/