IndexedDb 是否具有 transaction.completing 事件的等效项?
Does IndexedDb have the equivalent of a transaction.completing event?
有什么方法可以知道所有请求何时完成但在事务提交之前? transaction.oncomplete
事件在调用 transaction.abort()
时不允许 运行 有任何额外的逻辑。因此,更好的方法是使用 transaction.completing
的等价物(我编造的),它只会在所有请求完成后触发,但仍允许调用 transaction.abort()
。
http://www.w3.org/TR/IndexedDB/
一般来说,这应该被认为是一种很好的做法。在最常见的情况下,简单的语法错误不会使数据库处于不一致的情况。
Is there any way to know when all requests have finished but before the transaction commits?
是的,但您必须编写代码来侦听所有操作的 success
或 error
事件。没有您想要的 beforecommit
事件。但是请随意提出将其包含在 public-webapps.
中的理由
In the most common case simple syntax errors would not leave the database in a inconsistent case.
数据库如何进入不一致状态?这就是 error
事件存在的原因,默认情况下会导致事务中止。参见 http://w3c.github.io/IndexedDB/#dfn-fire-an-error-event。
有什么方法可以知道所有请求何时完成但在事务提交之前? transaction.oncomplete
事件在调用 transaction.abort()
时不允许 运行 有任何额外的逻辑。因此,更好的方法是使用 transaction.completing
的等价物(我编造的),它只会在所有请求完成后触发,但仍允许调用 transaction.abort()
。
http://www.w3.org/TR/IndexedDB/
一般来说,这应该被认为是一种很好的做法。在最常见的情况下,简单的语法错误不会使数据库处于不一致的情况。
Is there any way to know when all requests have finished but before the transaction commits?
是的,但您必须编写代码来侦听所有操作的 success
或 error
事件。没有您想要的 beforecommit
事件。但是请随意提出将其包含在 public-webapps.
In the most common case simple syntax errors would not leave the database in a inconsistent case.
数据库如何进入不一致状态?这就是 error
事件存在的原因,默认情况下会导致事务中止。参见 http://w3c.github.io/IndexedDB/#dfn-fire-an-error-event。