async.js와 함께 WebSQL API를 사용하면보다 쉽게 사용할 수 있습니다. 나는 하나의 함수에서 다른 함수로 트랜잭션 객체를 전달하기 위해 async.waterfall()
메서드를 사용한다. Uncaught InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable.
매우 가능성이이 tx
객체를 참조 : 나는 tx.executeSql()
크롬의 콘솔 말한다 호출하면async.js와 함께 WebSQL을 사용하면 InvalidStateError가 발생합니다.
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
});
: 다음은 간단한 예입니다.
WebSQL을 사용하는 전통적인 방법 ('함수 폭포'생성)은 잘 작동합니다. 거기에 내가 그런 방식으로 WebSQL을 사용하는데주의를 기울여야 할 것이 있습니까? 아니면 더 나은 대안이 있습니까?
왜 트랜잭션 오브젝트를 통과하고 싶은가? – Astronaut
SQL 문을 실행해야하기 때문에. 아직 모르는 대안이 있습니까? –