Ecma _ javascript (심화) - 비동기 코딩 (프로그래밍) *중요*

김지영·2024년 1월 17일

Ecma

목록 보기
14/14

1. 비동기 코딩 (프로그래밍)

  • 비동기 코딩의 단점 => 순서에 맞게 코딩할 수 없음

▤ 예제 1) 비동기 코딩의 단점

-> setTimeout() : 일정시간 지연해서 실행하는 함수
-> setTimeout(함수(), 지연시간) : 지연해서 함수가 실행됨

// 변수 = (안에) 함수() ;
let goSchool = setTimeout(()=>{
    // 코딩
    console.log("학교에 도착");
}, 1000)
// 1st 코딩: 실행
console.log("학교에 감");
goSchool ; // 2nd 실행
console.log("학교에서 코딩함");

-동기 : 결과를 기다렸다가 실행하고 결과 확인

-비동기 : 결과를 기다리지 않는다.
결과가 언제 올 지 모른다.

2. Promise

  • 사용법 : let 함수명 = async () => (await Promise 함수()};
  • 순서에 맞게 코딩해야할 시 필요에 따라 사용
  • 예 ) 은행에서 입금 결과를 확인 후 출금할 때
let goSchool = new Promise((resolve, reject) => {
    // 2초 지연 함수 : Promise 객체에 넣음
    setTimeout(function () {
      console.log("학교에 도착");
      // resolve() : 결과 성공했다는 확인 함수
      resolve();
    }, 2000);
  });

// TODO: *)
let myFunc = async () => {
    // 비동기 코딩
    try {
        // TODO: 결과 순서에 맞게 실행시킬수 있음
        await goSchool; // Promise 객체안에 함수가 실행되고 결과가 올때까지 기다림
        console.log("학교에서 코딩함"); // 결과를 받고 실행됨
    } catch(e) {
        console.log(e);
    }
};

myFunc(); // 실행

profile
그냥 졍이라구하자

0개의 댓글