使いやすくするために、async.js で WebSQL API を使用しようとしています。このメソッドを使用して、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 を使用する際に注意しなければならないことはありますか? または、より良い代替手段はありますか?