javascript promise code style -- JQuery




보통 자바스크립트에서 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

덧글

댓글 입력 영역



20140817_300_250

통계 위젯 (화이트)

6177
1073
1039938