Событие error
наступает при неудачном запросе (экземпляр IDBRequest
);он всплывает от запроса к транзакции запроса (IDBTransaction
) к соединению транзакции (IDBDatabase
).В любой момент это может быть зарегистрировано, и поведение по умолчанию (прерывание транзакции) может быть предотвращено при желании, вызывая preventDefault()
.
Событие abort
вызывается при транзакции, которая была прервана.Событие complete
запускает транзакцию, которая успешно зафиксирована.
Транзакция может завершиться неудачей по причинам, не связанным с конкретным запросом (например, превышение квоты, ошибка ввода-вывода и т. Д.).Поэтому, если вы хотите знать, что транзакция не удалась, следите за событиями abort
.Точно так же, поскольку ваша логика может предотвратить поведение по умолчанию ошибки запроса, прерывающей транзакцию, просмотр события error
в транзакции не говорит вам, будет ли транзакция в конечном итоге успешной или нет.