TIL 220825

강지훈·2022년 8월 24일
0

테츠님과 시작하는 BACKEND #1 (첫번째 백엔드 수업)

클라이언트 > 요청 > 서버
클라이언트 < 응답 < 서버

WHAT IS AN API?
API는 Application Programming Interface 의 줄임말
API 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타냅니다. 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있습니다.
이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의합니다.

REST : API
Representational State Transfer API

Synchronous 동기
Asynchronous 비동기

자바 스크립트의 기본 실행 구조!
-JS의 메인 스레드는 명령어를 순서대로 Call Stack에 밀어 넣습니다.
-Call Stack에 쌓인 순서대로 명령어를 처리 합니다!
-명령어로 처리하는 와중 Web API 또는 Call Back Queue에
호출이 생기면 해당 영역으로 호출 된 함수를 넣어 줍니다!
-Web API는 호출 된 기능을 처리 완료하면. Call Back Queue에 완료된 것을 넣어 줍니다!

Call Back Queue는 Call Stack이 전부 비면 그 때! 이벤트 루프가 Call Back Queue 의 것을 Call Stack에 밀어 넣어 줍니다

Call Back은 왜 쓰나요?

  • 아무리 인터넷이 빨라도 js의 처리 속도를 따라 올 수는 없습니다.
  • 즉, 비동기 방식인 js는 서버의 응답을 받기도 전에 다른 코드를 수행하게 되는데 이렇게 되면 문제가 발생하기 떄문이죠.
    -따라서, 특정 응답이 발생 하였을 때 코드를 실행할 필요가 있는데 js에서는 최초의 방식으로 call back 방식을 사용하였습니다.
  • 그리고 call back을 사용하면 코드 수행 순서를 js 메인쓰레드에서만 의존하지 않을 수 있습니다.

Promise

  • ES6에서 추가된 JS문법입니다!
  • new Promise (executor)로 새로운 생성자를 만들어서 사용!
  • Promise가 생성 되면 일단 작업을 실행 하고 해당 작업이 완료 여부를 executor 매개 변수(callback)를 통해 전달
  • executor 매개변수
    resolve: 비동기 작업이 성공 하였을 때!
    reject: 비동기 작업이 실패 하였을 때!

Promise -> reject

  • Promise의 코드가 정상적으로 수행 되지 않은 경우에는
    reject를 CallBack 으로 전달 합니다!
  • Reject는 보통 Error 라는 생성자를 사용해서 Error가 발생했음을 명확하게 전달합니다!
  • Reject는 catch로 결과를 받아서 처리합니다.

Promise -> finally
Promise의 코드의 성공 여부와 상관 없이 무조건 적으로 실행
then,catch와 함께 사용

profile
never stop

0개의 댓글