await api는 비동기 작업을 수행하는데 사용되는 구문입니다. 이 구문은 주로 HTTP 요청을 보내고 응답을 기다리는 데 사용됩니다.
여기서 api는 어플리케이션에서 사용하는 HTTP 클라이언트 라이브러리나 API 모듈을 가리킵니다. 대부분의 경우, 이 모듈은 HTTP 요청을 생성하고 보내는 기능을 제공합니다.
일반적으로 api는 RESTful API를 호출하거나 서버와의 통신을 위한 일반적인 인터페이스를 제공하는데 사용됩니다. 이를 통해 서버에서 데이터를 가져오거나 업데이트할 수 있습니다.
여기서 await 키워드는 프로미스를 기다리는 역할을 합니다. await 키워드 뒤에 오는 표현식이 완료될 때까지 현재 함수의 실행을 일시 중지하고, 프로미스가 이행(resolve)되면 결과 값을 반환합니다. 만약 프로미스가 거부(reject)되면 예외가 발생하게 됩니다.
따라서 await api는 HTTP 요청을 보내는 작업이 완료되기를 기다리고, 그 결과를 반환하여 변수에 저장하거나 처리합니다.
await api
.get('/members/me')
.then((response) => {
console.log(response)
})
.catch((err) => {
console.log(err)
router.push('/member/login')
})
api 모듈을 사용하여 /members/me 엔드포인트로 GET 요청을 보내고 있습니다. 이 요청은 현재 사용자의 정보를 가져오는 데 사용됩니다.
.then() 블록: 요청이 성공하면 해당 응답(response)을 받아와서 콘솔에 출력합니다. 이 부분은 주로 디버깅 목적으로 사용됩니다.
.catch() 블록: 요청이 실패하면 발생한 에러(err)를 콘솔에 출력하고, 그리고 사용자를 로그인 페이지(/member/login)로 리디렉션합니다. 이렇게 함으로써 로그인되지 않은 사용자가 특정 페이지에 접근하는 것을 방지할 수 있습니다.
이 코드는 로그인 상태를 확인하는 용도로 사용됩니다. 만약 사용자가 로그인되어 있지 않다면 로그인 페이지로 리디렉션됩니다. 로그인이 필요한 페이지에서 이런 방식을 사용하면 보안을 강화할 수 있습니다.