Skip to content

I think it's working (?) but it clears every time #32

@YCMitch

Description

@YCMitch

So after a stupid amount of time, I've got it apparently working. Using john-doherty's post I can make window.appStorage.driver() return as 'SQLiteStorage' ...after a setTimeout of 5 seconds.

I'm defining the driver as shown before I initialize my app:

localforage.defineDriver(window.cordovaSQLiteDriver).then(function() {
    window.appStorage = localforage.createInstance({
        version: 1.0,
        size: 52428800, // 50mb
        name: 'test',
        storeName: 'setup',
        driver: [
            window.cordovaSQLiteDriver._driver, // <-- prefer cordovaSQLiteDriver
            localforage.INDEXEDDB,
            localforage.WEBSQL,
            localforage.LOCALSTORAGE
        ]
    });

    if (window.appStorage.driver() !== window.cordovaSQLiteDriver._driver) {
        console.warn('Not using cordovaSQLiteDriver before setItem.');
    }

    return appStorage.setItem('message', 'It worked!');
});

setTimeout(function(){
alert(window.appStorage.driver())
},5000);

The console.warn says it's not using SQLite, but after a 5 second timeout it says it does. However after re-opening the app, everything is cleared and I'm back to square 1. I'd hazard a guess it's maybe failing to retrieve the storage as it takes however-long to actually get set up, or by creating an instance every time it's creating a new database?

I have no idea. I've spent an enormous amount of time trying to get this to work, but I just can't see how it's going to do that.

Is this anything anyone's experienced before?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions