[JAVASCRIPT] 비동기

Ethan Jeong·2022년 7월 27일
0

Bare Minimum Requirements


질문

  • Promise 실행 함수가 가지고 있는 두 개의 파라미터 resolve 와 reject 는 각각 무엇을 의미하나요?

    Promise 함수는 resolve와 reject를 매개변수로 받습니다.

    프로미스 생성자의 매개변수로 받는 실행함수는 매개변수로 두 가지 함수를 받아야 하는데
    그게 resolve와 reject입니다. 첫 번째 함수(resolve)는 비동기 작업을 성공적으로 완료해 결과를 값으로 반환할 때 호출해야 하고, 두 번째 함수(reject)는 작업이 실패하여 오류의 원인을 반환할 때 호출하면 됩니다. 두 번째 함수는 주로 오류 객체를 받습니다.

    정리하자면 resolve는 비동기 작업 처리에서의 성공, reject는 실패라고 볼 수 있습니다.

    mdn 예제

  • resolve, reject함수에는 전달인자를 넘길 수 있습니다. 이때 넘기는 전달인자는 어떻게 사용할 수 있나요?

    조건을 통해서 해당 전달인자를 리턴(?) 한다.

    구글링 예제

  • new Promise()를 통해 생성한 Promise 인스턴스에는 어떤 메서드가 존재하나요? 각각은 어떤 용도인가요?

  • Promise.prototype.then 메서드는 무엇을 리턴하나요?

    .then() 메서드는 매개변수로 onFulfilled 함수와, onRejected함수를 받습니다.

    p.then(onFulfilled, onRejected) 

    onFulfilled 함수는 promise가 수행 됐을 때 실행되고, 이행값 하나를 인수로 받습니다.
    onRejected 함수는 promise가 거부될 때 실행되고, 거부이유 하나를 인수로 받습니다.

    상황에 따른 리턴 값은 아래 Mdn 문서에서 확인이 가능합니다.

    대부분의 경우에서는 resolve에 들어간 값을 받습니다.

  • Promise.prototype.catch 메서드는 무엇을 리턴하나요?

    .catch() 메서드는 매개변수로 에러를 처리하는 방법 (onRejected)를 받습니다.
    이 메서드는 rejected 상태인 promise를 반환합니다.

참고자료 (promise.then(f, f) vs promise.then(f).catch(f) 는 무엇이 다를까?)
https://yceffort.kr/2021/07/promise-then-f-f-vs-promise-catch


  • Promise의 세 가지 상태는 각각 무엇이며, 어떤 의미를 가지나요?

    1. Pending(대기) : 비동기 처리 로직이 아직 완료되지 않은 상태

    2. Fulfilled(이행) : 비동기 처리가 완료되어 프로미스가 결과 값을 반환해준 상태

    3. Rejected(실패) : 비동기 처리가 실패하거나 오류가 발생한 상태

  • await 키워드 다음에 등장하는 함수 실행은 어떤 타입을 리턴할 경우에만 의미가 있나요?

    promise에 의해 만족하는 값일 경우에만 함수 실행에 의미가 있다.

  • await 키워드를 사용할 경우, 어떤 값이 리턴되나요?

    fullfilled된 상태인 promise의 값이 리턴된다.

profile
효율매니아

0개의 댓글