我正在使用 webSql,除了这个小东西之外,我有点想通了:假设我们有两个表(A 和 B),首先,我想插入表 A 并获取最新的 ID,我将作为辅助键插入到表 B 中。在这两种情况下,表都有自动递增 ID。
当我从底部示例中“警报(TableAId)”时,我得到了正确的值。但是,当我将它插入 TableB 时,它是空的。我认为问题可能是函数(tx,结果)是异步的,因此我在实际获得 TableAId 之前将其插入 TableB。
这里合适的解决方案是什么?
var TableAId = "";
tx.executeSql('INSERT INTO TableA (value) VALUES (?)', [myValue],
function(tx, results) {
TableAId = results.insertId;
}, errorCB);
tx.executeSql('INSERT INTO TableB (key_from_TableA) VALUES (?)', [TableAId],
function(tx, results) {
TableBId = results.insertId;
}, errorCB);