생각기록
callback 본문
정의: 함수에 파라미터로 들어가는 함수/ 함수가 끝난 뒤 실행되는 함수
용도: 순차적으로 실행하고 싶을 때 씀 ( 동기 처리 )
callback 함수 예문console.log('1');
setTimeout ( function () { console.log('2'); }, 1000);
console.log('3');
동기 얘들이 먼저 순차적 실행 되고, 1, 3
1초 경과후 이 함수를 실행해주세요 > 2
setTimeout()메서드는 타이머가 만료되면 함수 또는 지정된 코드 조각을 실행하는 타이머를 설정
비동기인 이 함수는 웹브라우저에서 1초 지나고 난 뒤 실행 한다.
바로 실행하는 것이 아니라, setTimeout라는 함수 안에 하나의 파라미터 인자로 지정한 함수를 전달한다.
니가 1초 뒤에 다시 불러줘 callback함수
보통 이런얘들은 화살표 함수로 함수를 선언하지 않고 간단하게 전달할 수 있다.
화살표 함수
console.log('1');
setTimeout ( () => console.log('2') , 1000);
console.log('3');
ex)addEventListener
document.quertSelector('.button').addEventListener('click', function(){ })
.addEventListener //얘는 함수
파라미터 자리에 function() 또 함수가 있다.
=callback
이 버튼을 클릭하면, 이 함수를 실행 시켜줘 = callback
동기 callback, 비동기 callback의 순서
콜벡 함수 만드는 법
funcion first(파라미터){
파라미터()
}
first(function(){}) > 하면 쓸 수 있다.
다른데서 만든 함수 넣기
Q. first()함수 다음에 second() 함수 실행하고 싶으면?
밑의 두줄은 콜백 함수 없이도 순차적 실행이 된다.
fist()
second()
협업 할 때 예시
팀원1. first()후에 console.log(2); 바로 하고 싶은데요?
바로 코드를 실행하고 싶을 때
first()함수를 업그레이드 하자
function first(파라미터){
console.log(1);
파라미터()
}
function second(){
console.log(2);
second();
}
first (second)
실행할 코드를 넣어주는 곳, 그게 실행 될 곳
그
funcion first(파라미터){
console.log(1); //first 실행
second();
}
function second() {
console.log(2); // 1 다음 2가 실행
}
first(second) // first 라는 함수 실행해주세요. 근데 파라미터 자리에 second 집어 넣어서요!
자바스크립트
fist calss citizen
일급 시민에 해당하는 문법이 있다.
va1 = 1;
1은 변수의 값이 될 수 있다 = 1급 시민
함수는? 값이 될 수 있습니다 = 1급 시민
조건문은 변수의 값이 될 수 있나요?
될 수 없기 때문에, 2급 시민!
또 하나의 조건
fn이라는 함수는 val이라는 함수를 리턴값이 될 수 있다면? 그 언어는 함수를 일급시민으로 대우 해줌
function fn(){
val = function( a ){
return b;
} return val;
}
val = funcion( a)
return b; }
fn(val);
함수가 다른 함수의 입력값이 될 수 있다면, 1급시민 대우
콜백은
val = funcion( a)
return b;
}
function fn(arg){ //(arg) 파라미터를 받아서 함수 안에서 파라미터를 함수로서 호출하고 있다.
arg();
}
fn(val); //val 함수가 입력값으로 사용 되고 있다.
즉 vall은 바로 실행되지는 않지만, 입력값으로 전달 되서 다른 함수에 의해서 나중에 호출 된다 = 콜벡 함수
https://satisfactoryplace.tistory.com/18
콜백 함수(Callback)의 정확한 의미는 무엇일까?
다양한 언어나 컴퓨터 관련 지식을 공부하면서, "콜백"이라는 단어는 많이 보았으나 그것의 정확한 의미를 설명해주는 책은 없었던 것 같다. 어쩌면 컴퓨터공학에서는 너무도 당연한 것이라서
satisfactoryplace.tistory.com
'SeSAC 풀스택 > Nodejs' 카테고리의 다른 글
2022-11-22 Express, ejs 수업 (0) | 2022.11.23 |
---|---|
2022_11_19_프로미스 (0) | 2022.11.19 |
2022-11-17 node.js 모듈, 구조 분해 할당, callback (0) | 2022.11.17 |
노드.js (0) | 2022.11.15 |
2022-11-12 서버 (0) | 2022.11.12 |