Quindi, nelle ultime 2 settimane ho combattuto con indexedDB
e una delle due domande ricorrenti che continuano a spuntare è perché indexedDB
deve usare / presentare il suo intero sistema di controllo delle versioni? Capisco che in alcuni casi molto specifici sia una cosa carina da avere, ma in questi casi farebbe un if(localstorage.dbversion <= ...)
, quindi c'è qualche ragione rispetto alle implementazioni / ottimizzazioni del browser che richiedono questa rotatoria 1 sistema? O rende indexedDB molto più efficiente o qualcosa del genere?
1 Rotonda perché ad esempio in onupgradeneeded
ottieni la transazione da event.target.transaction
mentre in onsuccess
la ottieni da result.transaction()
. E ci sono innumerevoli altri esempi più complessi. (Come i casi in cui createStore
è chiamato in risposta a vari enormi (troppo grandi per mantenere tutto in memoria) chiamate ajax))