Skill Interview 4

HyeRyun CHOI·2022년 4월 1일
0

기술면접

기술영역 : Javascript
질문 : promise(프로미스)의 개념에 대해서 설명하고, 콜백 함수 방식과 차이점 설명

동기 : 특정 코드의 실행을 요청하여 결과를 받은 후에 다음 코드를 수행하는 방식
비동기 : 특정 코드의 실행이 완료될 때까지 기다리지않고 바로 다음 코드를 먼저 수행하는 방식

Promise

promise : 자바스크립트에서 비동기 처리에 사용되는 객체

promise의 필요성 : 주로 서버에서 받아온 데이터를 화면에 표시할 때 사용

promise의 세가지 상태

  • Pending(대기) : 비동기 처리 로직이 아직 완료되지 않은 상태
  • Fullfilled(이행) : 비동기 처리가 완료되어 프로미스 결과 값을 반환해준 상태
  • Rejected(실패) : 비동기 처리가 실패하거나 오류가 발생한 상태

Callback

callback함수는 다른 함수의 매개변수인 함수로 사용하는데, callback함수의 중첩이 많아질수록 코드의 가독성이 심하게 나빠지고 로직을 변경하기도 어려워지는 문제를 가지고 있음

promise와 callback의 차이점

callback을 사용하면 비동기 로직의 결과값을 처리하기 위해서는 callback안에서만 처리를 해야하고 callback밖에서는 비동기에서 온 값을 알 수가 없고 callback pattern은 자유도가 높지만 template이 존재하지 않기 때문에 코드가 복잡해지고 에러 처리 같은 작업들이 어려움

promise를 사용하면 비동기에에서 온 값이 promise 객체에 저장되기 때문에 코드 작성이 용이해지고 비동기 처리만을 위해 만들어졌기 때문에 클래스에 resolve나 reject 함수들이 잘 정의되어있음

profile
(˘・ᴗ・˘)

0개의 댓글