📖
Javascript
  • 자바스크립트 시작하기
  • 자바스크립트 기초 문법
  • 변수
  • 배열
  • 객체
  • 연산자
  • 조건문
    • if 문
    • if ~ else 문
    • 다중 if문
    • 중첩 if문
    • switch 문
    • 삼항 연산자
  • 반복문
    • while 문
    • do while 문
    • for 문
    • 중첩 for 문
    • break 문
    • continue 문
  • 함수
    • 선언적 함수
    • 익명 함수
    • 매개변수가 있는 함수
    • Arguments 함수
    • 리턴값이 있는 함수
    • 재귀 함수
    • 콜백 함수
    • 내부 함수(스코프)
    • 객체 생성자 함수
    • 프로토타입 함수
    • 화살표 함수
    • 클래스
    • Promise
    • 함수 정리
    • 템플릿 리터럴
  • 내장객체
    • String 객체
      • split()
      • join()
    • Number 객체
    • Date 객체
    • Array 객체
    • Math 객체
    • 정규표현 객체
  • 브라우저 객체
    • Window 객체
    • Navigator 객체
    • Screen 객체
    • History 객체
    • Location 객체
  • 문서객체
  • 이벤트
Powered by GitBook
On this page
  • 1. 동기화
  • 2. 동기화
  • 3. 콜백 지옥
  • 4. promise

Was this helpful?

  1. 함수

Promise

1. 동기화

function a(){
    console.log('A')
}
function b(){
    console.log('B')
}
a();
b();
// A B

2. 동기화

function a(){
    setTimeout(function(){
        console.log('A')
    }, 1000)
}
function b(){
    console.log('B')
}
a();
b();
// B A

3. 콜백 지옥

function a(callback){
    setTimeout(function(){
        console.log('A')
        callback();
    }, 1000);
}
function b(){
    setTimeout(function(){
        console.log('B')
        callback();
    }, 1000);
}
function c(){
    setTimeout(function(){
        console.log('C')
        callback();
    }, 1000);
}
function d(){
    setTimeout(function(){
        console.log('D')
    }, 1000);
}
a(function(){
    b(function(){
        c(function(){
            d();
        });
    }); 
});

4. promise

function a(){
    return new Promise((resolve, reject)=>{
        setTimeout(()=>{
            console.log('A');
            resolve();
        }, 1000);
    });
}
function b(){
    return new Promise((resolve, reject)=>{
        setTimeout(()=>{
            console.log('B');
            resolve();
        }, 1000);
    });
}
function c(){
    return new Promise((resolve, reject)=>{
        setTimeout(()=>{
            console.log('C');
            resolve();
        }, 1000);
    });
}
function d(){
    return new Promise((resolve, reject)=>{
        setTimeout(()=>{
            console.log('D');
            resolve();
        }, 1000);
    });
}
a()
.then(() => b())
.then(() => c())
.then(() => d())
function a(){
    return new Promise((resolve, reject)=>{
        if(isError){
            reject()
        }
        setTimeout(()=>{
            console.log('A');
            resolve();
        }, 1000);
    });
}
a().then()
    .catch((error) => {
        console.log(error);
    })
    
// 데이터를 불러오면 reject, 실패하면 콘솔로그로 확인 
Previous클래스Next함수 정리

Last updated 4 years ago

Was this helpful?