websql事务中的多个执行查询是异步运行的吗?

时间:2016-07-07 03:11:35

标签: javascript sqlite

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)在事务中异步运行。

如果这是真的,那么在我们创建表之前,我们是否会冒一点尝试插入的风险?

或者这是不正确的?查询是否在事务中以串行方式运行?

1 个答案:

答案 0 :(得分:1)

虽然实际执行是异步的,但是语句在事务中排队,因此多个语句被序列化。