JS & 비동기

이민기·2022년 1월 28일
0
post-thumbnail

JS / Node 비동기

  • Synchronous(동기)
    • 순차적 실행
    • Blocking : 하나의 작업이 끝날 때 까지 이어지는 작업을 막는 것
  • Asynchronous(비동기)
    • 순차적으로 실행되지 않음
    • Non-Blocking : 하나의 작업이 끝나지 않았다라도 다음 작업도 하는것
    • 백그라운드 실행, 로딩 창 등의 작업
    • 서버로 요청 및 응답
      • AJAX (XHR)
    • 용량이 큰 파일을 로딩하는 작업
  • Call Back Function
    • 다른 함수의 전달인자로 넘겨주는 함수
  • Promise
    • 나중에 사용하게 될 값을 생산하는 객체
    • resolve: 실행할 함수
    • reject: 실행할 함수를 실행하지 못했을 때 반환값
    • 상태
      • Fulfilled: onFulfilled() 호출
      • Rejected: onRejected() 호출
      • Pending: Fulfilled또는 Rejected상태가 아닌 상태
    • Chainning
      • .then().catch()를 이용해 try/cath문처럼 사용
        fetch(url)
          .then(process)
          .then(save)
          .catch(handleErrors)
        ;

Timer API

  • setTimeout(callback,millisecond) : 일정 시간 이후 실행
    • arguments: 실행할 callback 함수, callback 함수 실행 전 기다려야 할 시간 (밀리초)
    • return value: 임의의 타이머 ID
        setTimeout(function () {
          console.log('1초 후 실행');
        }, 1000);
        // 123
  • setInterval(callback , millisecond) : 일정 시간의 간격을 가지고 함수를 반복적으로 실행
    • arguments: 실행할 callback 함수, 반복적으로 함수를 실행시키기 위한 시간 간격 (밀리초)
    • return value: 임의의 타이머 ID
        setInterval(function () {
          console.log('1초마다 실행');
        }, 1000);
        // 345
  • clearInterval(timerId): 반복 실행중인 타이머를 종료
    • arguments: 타이머 ID
    • return value: 없음
        const timer = setInterval(function () {
          console.log('1초마다 실행');
        }, 1000);
        clearInterval(timer);
        // 더 이상 반복 실행되지 않음
profile
블로그를 옮기는 중입니다. https://min71.dev

0개의 댓글