Javascript 是否可以在同一事务中嵌套语句?
我目前正在使用WebSql的异步API。鉴于此代码:Javascript 是否可以在同一事务中嵌套语句?,javascript,html,sqlite,asynchronous,web-sql,Javascript,Html,Sqlite,Asynchronous,Web Sql,我目前正在使用WebSql的异步API。鉴于此代码: db.transaction( function (tx) { tx.executeSql("SELECT * FROM table", [], function(t, resultSet){ //Anonimous function impleme
db.transaction(
function (tx) {
tx.executeSql("SELECT * FROM table",
[],
function(t, resultSet){ //Anonimous function implementing SQLStatementCallback
t.executeSql(...); //#1
}
);
},
function (err) {
console.error("Error in transaction");
},
function(){
console.log("Transaction complete"); //#2
}
);
我在规范中找不到这个参数。executeSql
中的第三个参数是一个函数inplementing。这个接口中的第一个参数是另一个(在我的代码中名为t)。是否可以使用此事务对象继续执行语句?特别是:
t
与tx
相同吗t
执行另一个SQL语句吗?在这种情况下,是否保证#1在#2之前运行是的,这就是WebSQL API的工作方式 由于异步执行,这是在一个事务中执行多个命令的唯一方法
t
和tx
中相同t
。每当我想让then并行运行时,我就使用tx
。请参阅我的实现YDN-DB库中的代码那么API如何知道我何时完成了事务?例如,我可以在#1的回调中再次调用
executeSql
,然后在第二个操作的回调中再次调用executeSql
。事实上,我可以在executeSql
回调中执行其他操作,比如连接到WS,这将延迟事务的sql组件。我甚至可以在“transaction”块中多次调用executeSql
,每次都有回调。>>API如何知道我何时完成了事务?事务在未被积极使用时提交。