-- JQuery
javascript promise code style
어린왕자악꿍
2017. 3. 22. 15:46
보통 자바스크립트에서 AJAX로 호출하기 위해 아래와 같은 문법을 사용한다.
(필자만이 이 방식을 많이 쓰는 건지는 모르겠지만)
$.ajax({
url: 'http://hipsterjesus.com/api',
dataType: 'json',
success: function(data) {
console.log('success', data.text);
},
error: function(data) {
console.log('error', data);
},
complete: function() {
console.log('complete');
}
});
그런데, 자바스크립트에서는 문법을 더 직관적으로 보이기 위해 (특히 콜백) Promise 스타일이 존재한다.
Promise의 필요는 특히 Node.js를 쓸 때 많이 거론되는 Callback Hell 이 대표적이다.
(물론 다른 라이브러리로 사용할 수 있고, Node.js의 그것과는 약간의 차이가 있다)
여기서는 코딩 스타일에 집중한다.
$.ajax({
url: 'http://hipsterjesus.com/api',
dataType: 'json'
})
.done(function(data) {
console.log('done', data.text);
})
.fail(function(data) {
console.log('error', data);
})
.always(function() {
console.log('always');
});
스타일을 변경한 것만으로도 코드가 훨씬 직관적으로 변했다. (개인차는 있을 수 있으나)
참조 : https://davidwalsh.name/write-javascript-promises