Web SQL事务的生命周期是什么,或者,如果它是动态的,它依赖于什么?
根据我的经验,开设新交易需要相当长的时间,所以我试图让交易保持最长时间。 我还想保持代码干净,所以我试图将JS分离为抽象函数并将事务作为参数传递 - 我确信这不是一种好的做法,但有时会大大提高性能。
举个例子:
db.transaction(function (tx) {
// First question: how many tx.executeSql
// calls are allowed within one transaction?
tx.executeSql('[some query]');
tx.executeSql('[some other query]', [], function (tx, results) {
// Do something with results
});
// Second question: passing the transaction
// works some times, but not others. Is this
// allowed by the spec, good practice, and/or
// limited by any external factors?
otherFunction(tx, 'some parameter');
});
function otherFunction(tx, param) {
tx.executeSql('[some query]');
}
此外,欢迎任何有关快速访问Web SQL数据库的技术建议。