有没有办法在单个事务中执行多个语句?我想做点什么:
db.transaction(function (tx) {
tx.executeSql(
"CREATE TABLE Foo(ID INTEGER); CREATE TABLE Bar(ID INTEGER)",
function (tx, result) {
alert("success!");
});
});
但相反,我发现我必须做这样的事情:
db.transaction(function (tx) {
tx.executeSql("CREATE TABLE Foo(ID INTEGER)");
tx.executeSql("CREATE TABLE Bar(ID INTEGER)",
function (tx, result) {
alert("success!");
});
});
我是否仅限于在自己的事务中执行单个语句,然后在最后一个事务中触发successFn,或者我是否可以在单个事务中执行多个语句?
答案 0 :(得分:7)
您的第二个代码已在单个事务中执行多个语句。第一个代码不正确(不支持),因为不清楚返回回调的结果。
即使支持,性能也是相同的,因为在内部,它必须转换为第二个语句。