Introduce Promise to asynchronous function, which is good at handling nested callback function(Especially in error handling).
Rewrite code in ES6, offer default storeName to simplify API, especially for single indexedDB objectStore handler(easier to use).
Find it's better to generate the handler as a single object(easier to use) So rewrite code to output a single object instead of a class. Support multiple indexedDB object Handler.
Use class(ES5 class, so prototype) to implement handlers that generate multiple indexedDB object store.
I have to admit that using the ES5 prototype to write a class is very difficult.(Compared to a single object, but each have their own advantages)
Implement a more complete single indexedDB object storage handler, support a number of simple and useful API.