赞城问哈
赞城问哈
  • 发布:2016-12-27 11:04
  • 更新:2016-12-27 12:28
  • 阅读:1446

关于 IndexedDB 中 onsuccess 触发的问题

分类:HTML5+
    var del = function(eID,callBack)  
    {   var ab=1;  
         myDb.transaction(TableName, 'readwrite').objectStore(TableName).delete(eID).onsuccess = function()  
         {  
            console.log('内部执行:'+ab);  
            ab=ab+1;  
            if(callBack && typeof callBack == 'function'){callBack(eID)}  
         }  
    }
var a = 1;  
function delFn(data)  
{  
    console.log('回调执行:'+a)  
    a = a+1;  
}

说明:根据eID查询到的数据有2行。

控制台输出:

内部执行:1
回调执行:1
内部执行:1
回调执行:2

为什么??内部执行的时候虽然执行了两次,但是并没有给a加上1。但是回调函数确实实在在的加了一次。

是我代码问题还是onsuccess 的触发机制问题? 或者可以在onsuccess 有判断条件??

2016-12-27 11:04 负责人:无 分享
已邀请:
赞城问哈

赞城问哈 (作者)

同样的问题也出现在 IndexedDB 的 get put add 上。

Trust

Trust - 少说废话

内容不全,建议提供详细的demo。

建议详细阅读indexDB相关的API,并且参考网上其他开发者的分享。

有个简单的demo,success的触发正常。

该问题目前已经被锁定, 无法添加新回复