본문 바로가기
💻/[과제]

[과제] Part 1 - 타이머 API

by Mia_ 2022. 11. 22.

Bare Minimum Requirements

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

  : new Promise() 메서드를 호출할 때 콜백 함수를 선언할 수 있고 그 때 함수의 인자가 resolve, reject 임.

비동기 작업이 성공한 경우 resolve()를, 실패한 경우 reject() 를 호출함.

resolve를 실행하면 이행 상태가 되고 이행 상태가 되면 then()을 이용해서 처리 결과 값을 받을 수 있음.

reject를 호출하면 실패 상태가 됨. 실패 상태가 되면 실패한 이유(실패 처리 결과 값)를 catch()로 받을 수 있음

 

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

  # 실습 예제 있음

 

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

  : then() 메서드는 Promise를 리턴하고 이행 했을 때와 거부했을 때를 위한 콜백 함수 2개를 인수로 받음

cathch() 메서드는 리젝트를 호출해 실패 상태가 되면 실패 처리 결과 값을 catch()로 받을 수 있음

 

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

  : resolve() 에 전달 인자로 넣어준 값

이행하거나 거부 했을 때 각각 해당하는 핸들러 함수가 비동기적으로 실행. 

→ 함수가 값을 반환한 경우, then에서 반환한 프로미스는 그 반환값을 자신의 결과 값으로 하여 이행

값을 반환하지 않을 경우, then에서 반환한 프로미스는 undefined를 결과 값으로 이행

오류가 발생할 경우, then에서 반환한 프로미스는 그 오류를 자신의 결과값으로 거부함

이미 이행한 프로미스를 반환할 경우 , then에서 반환한 프로미스는 그 프로미스의 결과 값을 자신의 결과 값으로 하여 이행

 이미 거부한 프로미스를 반환할 경우 , then에서 반환한 프로미스는 그 프로미스의 결과 값을 자신의 결과 값으로 하여 거부

  대기 중인 프로미스를 반환할 경우 , then에서 반환한 프로미스는 그 프로미스의 이행 여부와 결과 값을 따름

 

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

  : reject()에 전달 인자로 넣어준 값

오류가 발생할 경우 리젝트를 호출해 그 자신의 실패 처리 결과로 받을 수 있음

 

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

  : 프로미스의 3가지 상태 (처리 과정)

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

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

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

 

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

  : swati은 프로미스의 확장판. 프로미스 타입을 리턴한다 그래야 사용할 수 있다

await 식은 async 함수의 실시 중지하고 전달된 Promise의 해결을 기다린 다음  async 함수의 실행을 다시 시작하고 완료 후 값을 반환함.

 

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

  : resolve()에 전달 인자로 넣어준 값

  # 실습 예제 있음 

 : 실습 결과  resolve()의 값이 await 키워드를 사용한 promise 콜백 함수에 담겨 있었음

 

 


추가 학습 내용

 

Function.prototype.bind

: bind() 메소드가 호출되면 새로운 함수를 생성.

받게되는 인자의 value로는 this 키워드를 설정하고 이어지는 인자들은 바인드된 함수의 인수 제공

Function.bind(thisArg, [arg1, arg2, ...])

 

- thisArg : this가 가리킬 객체 지정 

- [arg1, arg2, ..] : 함수의 인자로 전달할 값

'💻 > [과제]' 카테고리의 다른 글

[과제] React Twittler Intro  (0) 2022.11.25
[과제] Part 3 - fetch API  (0) 2022.11.23
[과제] Underbar  (0) 2022.11.22
[과제] localStorage 와 JSON  (0) 2022.11.15
[과제] pagination 구현  (0) 2022.11.14