async/await

효딩딩·2022년 8월 1일
0

동기 / 비동기

  1. 동기 실행
  • Synchronous, 시간을 맞춤
  • 서버 컴퓨터의 작업이 끝날 때까지 기다린 후 다음 작업을 실행하는 통신이다.
console.log('1')
console.log('2')
// 1
// 2
  1. 비동기 실행
  • Asynchronous, 시간을 맞추지 않음.
  • 서버 컴퓨터의 작업이 끝날 때까지 기다리지 않는 통신으로, 서버에 요청이 저장될때까지 기다리지 않고 다른 작업을 진행한다
setTimeout(() => {
	console.log('1')
}, 1000)
console.log('2')

// 2
// 1

NodeJS 에서 비동기로 주로 사용한다.

  • DB에서 date 읽고, 저장하고, 지울 때 등 대부분의 요청은 비동기로 이루어진다.
    대부분의 작업이 어느 정도 시간을 요하기 때문
  • 이 덕분에 여러 개의 작업을 해도 다른 작업을 기다리지 않고 빠르게 여러 작업을 처리 할 수 있다.

JS는 동기 언어이다.

  • JS는 한 줄씩 실행하고 또 다음 줄 실행하는 동기 언어이다.
  • 그러나 콜백 함수를 실행하는 비동기 코드를 자주 사용했다. 어떻게 된걸까?
setTimeout(() => {
	console.log('1')
}, 1000)
console.log('2')

// 2
// 1
  • setTimeout은 JS의 부분이 아니다.
  • 브라우저에서 사용하면 브라우저 api를 사용하는것이고 (window, object)
    node에서 사용하면 Node api를 사용하는것이다.(global object)
profile
어제보다 나은 나의 코딩지식

0개의 댓글