gpt4 book ai didi

javascript - 从前一个 oncomplete 回调中打开新的 IndexedDb 事务是否安全?

转载 作者:行者123 更新时间:2023-11-30 10:08:58 28 4
gpt4 key购买 nike

我需要它的原因是为了以 flatMap 样式组合多个(添加、放置)事务。现在我想知道我是否可以从前一个 oncomplete 回调中启动一个新事务。它似乎在工作,但我永远无法确定它在生产中的作用。例如,如果您从 request onsuccess 回调中做类似的事情,它具有事务继续的特殊含义。

问题也可能是,transaction#oncomplete 方法调用是交易完成的信号还是 transaction#oncomplete 返回时?

我必须自己做一些负载测试来弄清楚,在简单的测试用例中它工作并且看起来事务结束是 transaction#oncomplete 方法调用,但是如果我开始使用它很严重,似乎有一些写锁饥饿让我想到了这个。

最佳答案

是的。开始第二个事务以响应 "complete"先前交易的事件是正确的,也是推断顺序的最简单方法。

根据规范(“steps for committing a transaction”部分):

[...] Only after the transaction has been successfully written is the "complete" event fired.

如您所见,您可能会看到 "success"来自单个请求的事件,但整个事务可能会中止(索引一致性、配额等),因此等待 "complete"如果您需要在后续交易中推断第一笔交易的成功,这是正确的做法。

关于javascript - 从前一个 oncomplete 回调中打开新的 IndexedDb 事务是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27603385/

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