An online tutorial显示此交易:
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")');
});
我现在在多个线程中读到这些查询(每个executeSql)在事务中异步运行。
如果这是真的,那么在我们创建表之前,我们是否会冒一点尝试插入的风险?
或者这是不正确的?查询是否在事务中以串行方式运行?
答案 0 :(得分:1)
虽然实际执行是异步的,但是语句在事务中排队,因此多个语句被序列化。