Skip to content

Possible bugs on "each" feature #38

@ghost

Description

I believe "each" has some bugs

  1. I get errors like "object is not a function" because of line 449 callback(e.target.result);
  2. No results because of line 446 if(!e.target.result){

Maybe

...
req.onsuccess = req.onerror = function(e) {
    $rootScope.$apply(function(){
        if(!e.target.result){
            d.resolve(e.target.result);
        }
        callback(e.target.result);
    });
};
...

should be something like

..
req.onsuccess = req.onerror = function(e) {
    $rootScope.$apply(function(){
        if(e.target.result){
            d.resolve(e.target.result);
        }
    });
};
...

with my suggestion things seem to work better but I have no idea is it correct.

What I have is something like

Setup:

var store = db.createObjectStore('fooBar', {keyPath: 'fooBarId', autoIncrement:true});
store.createIndex('keyIndex', ['foo','bar'], {unique:false});

Query:

var store = $indexedDB.objectStore('fooBar');

var key = [ fooValue, barValue ];

var query = $indexedDB.queryBuilder()
                .$index('keyIndex')
                .$eq(key)
                .compile();

return store.each(query).then(function(cursor) {
    if (cursor.value) {
        return cursor.value;
    }
});

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