当我从objectStore执行delete()
时,该事件似乎没有与已删除记录相关的信息。它没有给我回键,甚至没有任何确认删除的东西(除了调用成功回调)。 event.target.result
为undefined
。
有没有办法给我一些信息?
console.dir(event)
Event
bubbles: false
cancelBubble: false
cancelable: false
clipboardData: undefined
currentTarget: null
defaultPrevented: false
eventPhase: 0
returnValue: true
srcElement: IDBRequest
target: IDBRequest
error: null
onerror: function () { [native code] }
onsuccess: function deleteNext(event)
readyState: "done"
result: undefined
source: IDBObjectStore
transaction: IDBTransaction
webkitErrorMessage: undefined
__proto__: IDBRequest
timeStamp: 1371417349691
type: "success"
__proto__: Event
答案 0 :(得分:1)
我不明白......
如果从删除操作中输入onsuccess回调,则表示成功。在所有其他情况下,您将进入onerror回调。
你为什么要回来?
如果在SQL数据库中执行delete语句,则也不会返回任何内容......
答案 1 :(得分:0)
原谅我的语言,但WTF?显然,没有(至少标准的)方式来获取有关删除操作的任何信息。事实上,你甚至不知道它是否成功!
来自Mozilla:
根据规范,对象存储删除操作算法的结果是未定义的,因此通过查看请求结果无法知道某些记录是否实际被删除。
来自规范: http://www.w3.org/TR/IndexedDB/#object-store-deletion-operation
此算法的结果未定义。
这似乎是主要失败。数据库如何甚至不承认操作的成功或失败?!