0

当我delete()从 objectStore 执行 a 时,该事件似乎没有与已删除记录相关的信息。它没有给我钥匙,甚至没有任何确认删除的东西(除了调用成功回调)。event.target.resultundefined。_

有没有办法给我一些信息?

控制台.dir(事件)

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
4

2 回答 2

1

我不明白这一点...

如果输入onsuccess回调关闭删除操作,就成功了。在所有其他情况下,您将输入 onerror 回调。

你为什么想回来?

如果你在 SQL 数据库中执行删除语句,你也不会得到任何东西......

于 2013-06-19T06:37:23.167 回答
0

请原谅我的语言,但是WTF?显然,没有(至少是标准的)方法可以获取有关删除操作的任何信息。事实上,你甚至不知道它是否成功

来自 Mozilla:

根据规范,对象存储删除操作算法的结果是未定义的,因此无法通过查看请求结果来知道是否确实删除了某些记录。

从规范: http ://www.w3.org/TR/IndexedDB/#object-store-deletion-operation

该算法的结果是未定义的。

这似乎是一个重大的失败。数据库怎么能不承认操作的成功或失败?!

于 2013-06-16T21:29:48.437 回答