일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- https://sewonzzang.tistory.com/22
- https://goodgid.github.io/HTTP-Communicate-Process/
- https://joshua1988.github.io/web-development/javascript/js-async-await/
- https://siyoon210.tistory.com/130
- https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
- https://jcon.tistory.com/189
- https://joshua1988.github.io/web-development/javascript/promise-for-beginners/
- https://aws.amazon.com/ko/docker/
- https://hi-zini.tistory.com/entry/%EB%B9%84%EB%8F%99%EA%B8%B0%EC%A0%81-%EB%B0%A9%EC%8B%9D-%EC%B2%98%EB%A6%AC-%EB%B0%A9%EB%B2%95-Callback-Promise-async-await
- https://appmaster.io/ko/blog/rest-apiran-mueosimyeo-dareun-yuhyeonggwa-eoddeohge-dareungayo
- Today
- Total
“Connecting the dots”
Callback / Promise 란 본문
자바스크립트에서 비동기를 처리할 때 callback과 promise를 사용하게 되는데 이 둘의 차이점을 그저 callback을 썼을 때는 callback hell 때문에 가독성이 떨어지는 것 말고 더 명확하게 알기 위해서 정리
Callback 함수 란 ? * 실행된 함수 가 실행을 끝낸뒤 나중에 호출되는 함수
+다른 함수가 실행을 끝낸 뒤 실행(Call back)되는 함수 (=>나중에 호출되는 함수) 를 말한다
+다시 말해서 코드를 통해 명시적으로 호출하는 함수가 아니라, 함수를 동록해놓은 후 어떤 이벤트가 발생했거나 특정 시점에 도달 했을때 시스템에서 호출하는 함수를 말한다
+파라미터로 함수를 전달받아, 함수의 내부에서 실행된다.
콜백함수(Callback Function) 사용이유
+자바스크립트에서 비동기적 프로그래밍 할 수 있기 떄문이다
+자바스크립트는 싱글스레드를 사용하는데,멈춤을 방지해준다. 즉 블록킹을 방지하여 싱글스레드가 논블록킹으로 동작하게 한다.
싱글스레드
=>싱글스레드는 한 번에 하나의 작업만 수행할 수 있다
싱글스레드로 어떻게 비동기 작업이 가능할까 ?
+ 자바스크립트이 메인스레드인 이벤트 루프가 싱글스레드이기 떄문에 자바스크립트를 싱글스레드 언어라고 부른다.
그러나 자바스크립트는 이벤트 루트만 독립적으로 실행하지는 않고 , 웹 브라우저나 NodeJs같은 멀티 쓰레드 환경에서 실행된다.
+즉 동시성을 보장하는 비동기,논블록킹 작업들은 JavaScript 엔진을 구동하는 웹 브라우저. NodeJs (런타임 환경) 에서 담당한다
=> JavaScript 동작원리에서 자세하게 알 수 있다
콜백함수 (Callback Function) 사용 유형
1_익명 함수 사용
1콜백함수는 이름없는 '익명의 함수'를 사용한다 함수의 내부에서 실행되기 때문에 이름을 붙이지 않아도 된다
2.함수의 이름 넘기기
2 자바스크립트는 null과 undefined 타입을 제외하고 모든 것을 객체로 다룬다 함수를 변수 또는 다른 함수의 변수처럼 사용할 수 있다 .함수를 콜백함수로 사용할 경우, 함수의 이름만 넘겨주면 된다
3전역변수, 지역변수를 콜백함수의 파라미터로 전달 가능
1 전역변수 (Global Variable) : 함수 외부에서 선언된 변수
2지역변수 (Local Variable) : 함수 내부에서 선언된 변수
콜백함수(Callback Function) 주의할점
+콜백지옥은 콜백함수를 익명 함수로 전달하는 과정이 반복되어 코드의 들여쓰기 수준이 감당 하기 힘들정도로 깊어지는 현상이다 (함수로 전달되는 과정이 반복되는 현상)
+비동기적인 작업을 수행하기 위해 이런 형태가 등장하는데 , 가독성이 떨어지면서 코드를 수정하기 어려워진다
+비동기 작업 수행하기 위해 콜백함수를 익명 함수로 전달 하는 과정에서 콜백 지옥이 생긴다
= promise,async/await.Generator 등을 사용해 방지
Promise란?
주로 서버에서 받아오는 데이터를 화면에 표시할때 사용 웹 어플 구현할 때 서버에서 데이터를 요청하고 받아오기 위헤 API를 사용
+promise 는 자바스크립트 비동기 처리에 사용되는 객체이다
+Pending(대기) :비동기 처리 로직이 아직 완료되지 않은 상태
+Fulfilled(이행) :비동기 처리가 완료 되어 프로미스가 결과 값 반환
+Rejected(실패): 비동기 처리가 실패하거나 오류가 발생한 상태
'2주차' 카테고리의 다른 글
SQL vs NoSQL (0) | 2022.11.09 |
---|---|
async / await (0) | 2022.11.07 |
Scraping & Crawling (0) | 2022.11.07 |
package.json란? (0) | 2022.11.07 |
Docker란? (0) | 2022.11.07 |