JavaScript
[JavaScript] 자바스크립트 콜백 예시
초코파이쩡
2023. 4. 21. 18:00
반응형
콜백(CALLBACK)
함수는 무언가 일을 하고 난 후에 처리하는 함수인데 함수를 다 콜백이라고 한다.
콜백함수를 매개변수로 넘길수 잇다.
콜백을 알앗다면 "싱크 어싱크(동기(Sync) & 비동기(Async))" 를 알아야 한다.
1. 동기 : 하나의 요청이 오면 완료가 된 후 다음 요청을 실행하는 방식 - 순차적 로직흐름
2. 비동기 : 어떤 요청이 오면 완료가 되기 전에 다음 요청을 실행하는 방식 - 동시 효율적 처리 가능, 즉시 응답X 때문에 예상 밖 결과 나올수도 있다.
1. 동기(Sync:싱크) => 순서대로 가는것
2. 비동기(Async:어싱크) => 순서없이 가는것
비동기니까 a,b,c의 결과값을 순차적으로 가져올 수 없기 때문에 콜백이라는 함수를 ㅊ통해 끝나는 지점을 아니까
끝나는 지점에 완료값이 어떻게 나오는지 확인할 수 있게 CALLBACK 처리를 해준다.
자바스크립트 문법
function 함수(매개변수) { 실행문; }
문제
콜백 함수 변수정의 x = 5, y =10
a 가 하는일은 x,y 중 큰수를 알아낸다 (a가 트랜젝션이라 치고)
b 가 하는 일은 나는 " " 가 좋아요 출력 , 콘솔또는 넥사크로에서 트레이스로 출력
c 가 하는 일은 a 호출 뒤에 b를 호출 결국은 b만 호출되면됨
b가 콜백이되니까 b를 a에 던진다...
1-1 찍어보기 (기본 문장완성)
function transactionA(x = 5,y =10) {
x() < y();
}
function b(value) {
console.log('나는' + value +'가 좋아요');
}
function c() {
console.log('아에이오우 이건 C');
}
1-2 찍어보기 (콜백을 타기위한 문장완성)
function tt(x,y,fn_callback) {
fn_callback(y);
}
function bb(value) {
console.log('나는 큰수' + value +'가 좋아요');
}
function vv(value) {
console.log('나는 작은수' + value +'가 좋아요');
}
tt(3,8,bb); // x가3이고 y가 8 ->인풋값
tt(10,5,bb);
tt(3,1,vv);
1-3 정답 (콜백을 타기위한 문장완성)
// (x,y,fn_callback) => 이 안에 있는거는 파라미터 변수
// 변수를 이 안에서 정의하는데
// y 하고 x 중에 큰수를 넣어서 콜백의 파라미터로 넣어준다
function tt(x,y,fn_callback) {
var bigint;
if(x < y){
bigint = y;
} else {
bigint = x;
}
fn_callback(bigint);
}
function bb(value) {
console.log('나는 큰수' + value +'가 좋아요');
}
function vv(value) {
console.log('큰수는 ' + value + '싫어요');
}
tt(3,8,bb); // x가3이고 y가 8 ->인풋값
tt(10,5,bb);
tt(3,1,vv);
반응형