Advertisement
Guest User

Sample XHR usage with promises

a guest
Apr 24th, 2015
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var do_update, game_state;
  2.  
  3. game_state = {
  4.   player_id: null,
  5.   last_update_ms: 0,
  6.   score: 0
  7. };
  8.  
  9. do_update = function() {
  10.   var defer;
  11.   defer = $.Deferred();
  12.   $.ajax({
  13.     url: '/update.php',
  14.     method: 'POST',
  15.     dataType: 'JSON',
  16.     data: {
  17.       last_update: game_state.last_update_ms,
  18.       score: game_state.score
  19.     }
  20.   }).success(function(response) {
  21.     if (!(response && response.success)) {
  22.       defer.reject(response.message || 'Unknown error occured');
  23.       return;
  24.     }
  25.     defer.resolve(response.payload);
  26.   }).error(function(response, code) {
  27.     defer.reject("Server returned " + code);
  28.   });
  29.   return defer.promise();
  30. };
  31.  
  32. disable_ui();
  33.  
  34. do_update().always(function() {
  35.   enable_ui();
  36. }).done(function(payload) {
  37.   update_game(payload);
  38. }).fail(function(error) {
  39.   alert("An error occured\n" + error);
  40. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement