gpt4 book ai didi

javascript - IDB事务 : onabort vs onerror

转载 作者:行者123 更新时间:2023-11-30 20:10:46 25 4
gpt4 key购买 nike

当我们想在事务级别处理 IndexedDB 错误时,我们有两个选择:onabortonerror 处理程序。

它们有什么区别?

MDN 不是很有帮助; it only says :

Consider using IDBTransaction.onabort instead to handle non- successful completion of the transaction.

这是否意味着 onerror 处理程序将只处理由 onabort 处理程序处理的错误子集?

最佳答案

error 事件在请求失败时触发(IDBRequest 实例);它从请求冒泡到请求的事务(IDBTransaction)再到事务的连接(IDBDatabase)。在任何时候它都可以被记录下来,如果需要,可以通过调用 preventDefault() 来阻止默认行为(中止事务)。

abort 事件在已中止的事务中触发。 complete 事件在事务成功提交时触发。

事务可能因与特定请求无关的原因而失败(例如超出配额、I/O 错误等)。因此,如果您想知道交易失败,请注意 abort 事件。同样,因为您的逻辑可能会阻止请求错误中止事务的默认行为,所以在事务上看到 error 事件并不能告诉您事务最终是否会成功。

关于javascript - IDB事务 : onabort vs onerror,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52447523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com