Транзакция WebSql ведет себя странно, когда я помещаю некоторые предупреждения в код.У меня есть три транзакции.Это t1, t2 и t3.
Следующий код работает отлично, как и ожидалось.
var db = openDatabase('DBTest', "1.0", "Example DB", "200000");
db.transaction(function(tx) {
alert('Tranasction.1........');
jQuery('body').append('<h1>Added a h1 by t1</h1>');
});
db.transaction(function(tx) {
alert('Tranasction.2........');
jQuery('body').append('<h1>Added a h1 by t2</h1>');
});
db.transaction(function(tx) {
alert('Transaction.3.........');
jQuery('body').append('<h1>Added a h1 by t3</h1>');
});
Но, когда я вставляю оператор предупреждения перед выполнением транзакции.Вещи не работают, как ожидалось.
Например.Если я поставлю предупреждение («Предупреждение перед транзакцией t3»);
Код после изменения выглядит следующим образом:
var db = openDatabase('DBTest', "1.0", "Example DB", "200000");
db.transaction(function(tx) {
alert('Tranasction.1........');
jQuery('body').append('<h1>Added a h1 by t1</h1>');
});
db.transaction(function(tx) {
alert('Tranasction.2........');
jQuery('body').append('<h1>Added a h1 by t2</h1>');
});
//THIS ALERT IS ADDED
alert('An alert just before transaction t3');
db.transaction(function(tx) {
alert('Transaction.3.........');
jQuery('body').append('<h1>Added a h1 by t3</h1>');
});
Изменение поведения после изменений: первые две транзакции не происходят.
Это ожидаемое поведение.Если да, то как это оправдано?