On Mar 12, 2010, at 9:05 AM, Aaron Boodman wrote:

Looking at just this snip:

function findFred(db) {
 db.request.onsuccess = function() {
   var index = db.request.result;
   index.request.onsuccess = function() {
     var matching = index.request.result;
     if (matching)
       report(matching.isbn, matching.name, matching.author);
     else
       report(null);
   }
   index.get('fred');
 }
 db.openIndex('BookAuthor');
}

This example is hard to read where the callback is setup before the
call like this. Without making any API changes, I think you could
improve things:

db.openIndex('BookAuthor');
db.request.onsuccess = function() {
 ...
};

You just have to make sure that the API guarantees that
onsuccess/onfailure will always be called in a separate event, which
is important anyway for consistency.

This seems like a light-weight enough requirement that can improve program comprehension.

Reply via email to