프로미스 객체가 완료되었을 때 done

실패했을 때는 fail,

완료되었건 실패했건 행동이 끝났으면 always

var longAndComplicatedFunction = function() {
  var deferred = $.Deferred();
  try {
    // 완료되려면 50초가 걸리는 매우 복잡한 비동기 코드
    deferred.resolve('성공');
  } catch (err) {
    deferred.reject(err);
  }
  return deferred.promise();
};
longAndComplicatedFunction().done(function(message) {
  console.log(message);
}).fail(function(error) {
  console.log(error);
}).always(function() {
  console.log('완료!');
});
console.log('다음 행동');