티스토리 뷰
콜백 : 나중에 호출할 함수
- 가장 오래된 비동기적 매커니즘
- 일반적으로 다른 함수에 넘기거나 객체의 프로퍼티로 사용
- 드물게는 배열에 넣어서 쓰는 경우도 있음
- 보통 익명 함수로 사용
내장 함수
- setTimeout( ) : 콜백의 실행을 지정된 밀리초만큼 지연하는 내장 함수
- 한번만 실행하고 멈춤
- setInterval( ) : 콜백을 정해진 주기마다 호출
- clearInterval( ) : setInterval( )을 사용을 멈출 때 호출
오류 우선 콜백 : 콜백과 관련된 에러를 처리할 방법의 표준
- 콜백의 첫 번째 매개변수에 에러 객체를 씀
const fs = require('fs');
const fname = 'may_or_may_not_exist.txt';
fs.readFile(fname, function (err, data) { //err : 오류 우선 콜백
if (err) return console.error(`error reading file ${fname} : ${err.message}`);
console.log(`${fname} contents : ${data}`);
});
콜백 헬 : 콜백 단점
- 한번에 여러가지를 기다려야 한다면 콜백을 관리하기가 어려워짐
const fs = require('fs');
fs.readFile('a.txt', function (err, dataA) {
if (err) console.error(err);
fs.readFile('a.txt', function (err, dataB) {
if (err) console.error(err);
fs.readFile('a.txt', function (err, dataC) {
if (err) console.error(err);
setTimeout(function () {
fs.writeFile('d.txt', dataA + dataB + dataC, function (err) {
if (err) console.error(err);
});
}, 60 * 1000);
});
});
});
'LANGUAGE > JAVA SCRIPT' 카테고리의 다른 글
[JAVA SCRIPT] FUNCTION - 함수 (0) | 2019.07.30 |
---|---|
[JAVA SCRIPT] PROMISE - 프라미스 (0) | 2019.07.19 |
[JAVA SCRIPT] JSON (0) | 2019.02.08 |
[JAVA SCRIPT] AJAX (0) | 2019.02.06 |
[JAVA SCRIPT] CONST, LET, VAR (0) | 2018.12.15 |
댓글