Upgrade to Pro — share decks privately, control downloads, hide ads and more …

jQuery Deferreds and Promises

Eli Perelman
November 01, 2011

jQuery Deferreds and Promises

My introduction slides from the Omaha Front-end Web and jQuery meetup on November 1, 2011.

Eli Perelman

November 01, 2011
Tweet

More Decks by Eli Perelman

Other Decks in Technology

Transcript

  1. WITHOUT DEFERREDS var  validateUser  =  function  (  username,  password,  callback

     )  {          if  (  username  ===  ‘bob’  &&  password  ===  ‘123’  )  {                  callback(  ‘success’  );          }  else  {                  callback(  ‘failure’  );          }   };   validateUser(  ‘bob’,  ‘123’,  function  (  result  )  {          if  (  result  ===  ‘success’  )  {                  location  =  ‘/dashboard’;          }  else  {                  showError(  ‘Invalid  login.’  );          }   });    
  2. WITH DEFERREDS var  validateUser  =  function  (  username,  password  )

     {          var  deferred  =  $.Deferred();          if  (  username  ===  ‘bob’  &&  password  ===  ‘123’  )  {                  deferred.resolve();          }  else  {                  deferred.reject();          }          return  deferred.promise();   };   validateUser(  ‘bob’,  ‘123’  )          .done(  function  ()  {                  location  =  ‘/dashboard’;          })          .fail(  function  ()  {                  showError(  ‘Invalid  login.’  );          });    
  3. Deferreds Promises .then .then .done .done .fail .fail .always .always

    .reject .resolve .pipe .pipe .promise .promise .isResolved .isRejected