프로미스 객체가 완료되었을 때 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('다음 행동');