Javascript WebSql:如果达到大小限制,事务将回滚

Javascript WebSql:如果达到大小限制,事务将回滚,javascript,web-sql,Javascript,Web Sql,我刚刚注意到,如果您正在向WebSQL中插入数据,并且je达到了最大大小限制,iPad将弹出一条提示,询问用户是否要增加大小。但是,即使您批准,当前事务也将回滚。我想知道是否有什么办法可以防止这种倒退,这样你就可以继续了 是测试代码。实际执行回滚的代码是 db.transaction(function (tx) { ... // create the table // ... for( var i = 0; i < 10000; i++ ) { insert

我刚刚注意到,如果您正在向WebSQL中插入数据,并且je达到了最大大小限制,iPad将弹出一条提示,询问用户是否要增加大小。但是,即使您批准,当前事务也将回滚。我想知道是否有什么办法可以防止这种倒退,这样你就可以继续了

是测试代码。实际执行回滚的代码是

db.transaction(function (tx) {
    ... // create the table // ...
    for( var i = 0; i < 10000; i++ ) {
        insertData(tx) ;
    }
},
function() {
    console.log("Transaction error -> rollback") ;
},
function() {
    console.log("transaction is ready") ;
}) ;
db.事务(功能(tx){
…//创建表//。。。
对于(变量i=0;i<10000;i++){
插入数据(tx);
}
},
函数(){
log(“事务错误->回滚”);
},
函数(){
console.log(“事务准备就绪”);
}) ;
有什么建议吗


Cheers

中详细介绍了使用WebSQL处理空间不足情况的方法。基本上,您没有权力拒绝浏览器提示用户,因此必须处理这种情况。简单的方法是通知用户您需要更多的空间,然后强制重新提示以增加大小,事务的成功回调调用您的原始代码

如果您真正想说的是,您希望保留所有代码直到空间用完,那么您可以保留一个外部索引,说明在事务回滚之前您已成功完成了多远,然后使用以前的限制重做事务。这样,所有可能塞进的数据都会在那里(其余的数据永远不会被写入)