gpt4 book ai didi

indexeddb - 你如何让 indexeddb 事务保持活跃?

转载 作者:行者123 更新时间:2023-12-04 00:04:03 29 4
gpt4 key购买 nike

只要您使用适当的 IDBTransaction,是否可以从单个事务中完成所有这些操作,而不是打开多个事务(读取表、写入表、写入另一个表等)?

Mozilla 说:“保持事务处于事件状态的唯一方法是对其发出请求。当请求完成时,您将收到一个 DOM 事件,并且假设请求成功,您将有另一个机会来扩展事务在那次回调期间。”这有点模糊。这是否意味着如果我为 DOM 回调提供了一个事件处理程序,我可以在该回调的任何时候使用该事务,而不必担心事务被关闭?

https://developer.mozilla.org/en/IndexedDB/Using_IndexedDB#Adding_data_to_the_database

最佳答案

简短回答:如果您为“成功”或“错误”事件提供事件处理程序,您可以在该事件处理程序中放置一个新请求,而不必担心事务会自动关闭。

长答案:事务提交通常应该是完全透明的。唯一的规则是你不能在做非数据库“东西”时保持事务打开。 IE。您不能启动事务,然后在执行一些 XMLHttpRequest 或等待用户单击按钮时将其保持打开状态。

一旦您停止对事务发出请求并且最后一个请求回调完成,事务就会自动关闭。

但是,您可以启动一个事务,使用该事务读取一些数据,然后写入一些结果。

因此,请确保在开始事务之前拥有所需的所有数据,然后在请求回调中执行您想要执行的所有读取和写入操作。完成后,交易将自动完成。

关于indexeddb - 你如何让 indexeddb 事务保持活跃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10385364/

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