비동기 처리 -> 이렇게 특정 로직의 실행이 끝날 때까지 기다려주지 않고 나머지 코드를 먼저 실행하는 것.
콜백함수 -> 나중에 호출되는 함수를 의미한다. 함수가 실행되는 중간에 호출되어 상태 정보를 전달하거나 결과 값을 처리한다.
function getData(callbackFunc) { $.get('https://domain.com/products/1', function(response) { callbackFunc(response); // 서버에서 받은 데이터 response를 callbackFunc() 함수에 넘겨줌 }); } getData(function(tableData) { console.log(tableData); // $.get()의 response 값이 tableData에 전달됨 |
Promise -> 비동기 처리로 인하여 발생하는 특정 로직에 대한 불합리를 해결하기 위한 방법 중 하나.
Promise 객체를 생성하여 각각 resolve, reject로 성공 인자와 실패 인자를 정의한다.
function getData(callback) { // new Promise() 추가 return new Promise(function(resolve, reject) { $.get('url 주소/products/1', function(response) { // 데이터를 받으면 resolve() 호출 resolve(response); }); }); } // getData()의 실행이 끝나면 호출되는 then() getData().then(function(tableData) { // resolve()의 결과 값이 여기로 전달됨 console.log(tableData); // $.get()의 reponse 값이 tableData에 전달됨 }); |
'Programming > Javascript' 카테고리의 다른 글
[ES6] Class (0) | 2021.10.13 |
---|---|
[ES6] Enhanced object property (0) | 2021.10.07 |
[ES6] Arrow Function / Spread operator (0) | 2021.10.07 |
[ETC] Object, Class, Instance (0) | 2021.10.07 |
드림코딩 by 엘리. JavaScript 기초 강의(10) - JSON 개념 정리와 활용방법 및 유용한 사이트 공유 (0) | 2021.10.07 |