我正在尝试将 WebSQL API 与 async.js 一起使用以使其更易于使用。我使用该方法async.waterfall()
将事务对象从一个函数传递到另一个函数。这是一个简单的例子:
async.waterfall([function(callback) {
db.transaction(function(tx) {
callback(null, tx);
}, onError);
}, function(tx, callback) {
tx.executeSql('SELECT * FROM sqlite_master', [], function(tx, rs) {
callback(null, tx, rs);
}, onError);
}], function(tx, rs) {
// do something with rs.rows
});
当我调用tx.executeSql()
Chrome 的控制台时说:Uncaught InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable.
这很可能是指tx
对象。
使用传统方式(创建“功能瀑布”)的 WebSQL 可以正常工作。以这样的方式使用 WebSQL 有什么需要注意的吗?还是有更好的选择?