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

jQuery Deferreds and Promises

Avatar for Eli Perelman 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.

Avatar for Eli Perelman

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