JavaScript

22.02.13 함수의 비동기 처리

슈팅스타제제 2022. 2. 13. 18:18

애송이 시절 나의 글

이때 내가 Promise 개념에 대해 처음 접하고 쓴 글이다. 다시 읽어보았는데 음...이해를 못하고 정리만 예쁘게 한 글이었다.

지금 어느정도 이해를 한 상태에서 다시 읽어보고 샘플 코드로 정리를 해본다. 

 

https://jemerald.tistory.com/30

 

21.04.19 Promise

📌Promise 프로미스 객체는 비동기 작업 처리에 사용되는 객체이다. 주로 서버에서 받아온 데이터를 화면에 표시할 때 사용! 일반적으로 웹 어플리케이션을 구현할 때, 서버에서 데이터를 요청하

jemerald.tistory.com

 

방법 1. then, catch 

Promise 방식에서 단일 Promise, chaining Promise, Promise All 이 있다. 내가 선호하는 방식 

const [data, setData] = useState('')

//axios GET 통신을 통해 데이터를 가져오는 함수
const getData = () => {
	axios.get(`url`)
}

//Promise 처리
getData().then(
    res => {
        setData(res)
        return data
    }).then(
    	data => console.log('data: ', data
    ).catch(
    	error => console.log('Error in getData: ', error)
        /*
        최상단 함수에서 throw Error를 하지 않는다. 만약에 이 함수 상단에 다른 최상위 함수를 가진다면 , 
         걔가 catch에서 전체가 안끝나도록 잡아줄 것이다. 
        */
)

방법 2. async, await 

const [data, setData] = useState('')

const getData = async () => {
	const res = await axios.get(`url`)
    setData(res)
    console.log('data: ', data)
}

'JavaScript' 카테고리의 다른 글

22.02.21 타입 캐스팅  (0) 2022.02.22
22.02.20 sort, toFixed, toLowerCase  (0) 2022.02.20
22.01.25 객체에 속성 추가하는 방법  (0) 2022.02.13
22.01.24 객체 속성 접근 방식  (0) 2022.01.24
22.01.19 filter  (0) 2022.01.22