엘리스 4주차 (2) 비동기 통신 (setTimeout), promise, fetch

울라불라데덴네·2022년 12월 23일
1

엘리스 IoT트랙

목록 보기
5/12

setTimeout

어떤 코드를 바로 실행하지 않고 일정 시간 기다린 후 실행해야하는 경우가 있다. 이럴 때는 자바스크립트의 setTimeout()함수를 사용해야한다.

setTimeout(() => console.log("2초 후 실행"),2000);
동작 -> 1000 : 1초 2000 : 2초 단위가 1000단위로 가기때문에 
2초 뒤 console창에 문자가 나타난다.

result
2초 후 실행



promise

자바스크립트가 비동기 처리를 할 때 사용되는 객체이다.
여기서 비동기란?

  • 특정 로직의 실행이 끝날때까지 기다려주지 않고 나머지 코드를 먼저 실행하는 것을 비동기 처리라고 한다.
  • 비동기 처리가 필요한 이유!
    -> 화면에서 서버로 데이터를 요청했을 때 서버가 언제 요청에 대한 응답을 줄지 모르는데 마냥 기다릴 수 없다.

WHY? promise가 필요할까?❗️

프로미스는 주로 서버에서 받아온 데이터를 화면에 표시할 때 사용한다.
일반적으로 웹 어플리케이션을 구현할 때 서버에서 데이터를 요청하고 받아오기 위해 사용한다.

example)
num==3

function resolveFunc(num){
	return new Promise((resolve, reject)=>{
    	if(n>0){
        	resolve(`${num}은 양수이다.`)
        }
        else{
        	reject(`${num}은 음수이다.`)
        }
    });
}

promise 매개변수에는 if문이 성립시 resolve, 성립 X reject

result
-> 3은 양수이다.




fetch

자바스크립트에서 서버로 네트워크 요청을 보내고 응답을 받을 수 있도록 해주는 매서드이다.

fetch(url)
	.then(res=>{
    	console.log(res)
    })
    .catch(error=>{
    	console.log(error)
    })

profile
Get ready with me

0개의 댓글