어제 정신없이 GraphQL-API로 Mutation, Query하는 방법을 배웠는데
바로 화면을 바꿔주는 Routing을 배웠다.
라우팅이란 단어 처음 보고 샤우팅 밖에 생각이 안났다...ㅋ
공부하기 싫을 땐 소리질러~~!
(죄송해요 멘토님 이런 딴생각하는 저라서..)
라우터란, 페이지 이동 기능을 제공하는 객체이다.
A 페이지에서 B 페이지로 이동하는 것을 'B 페이지로 라우팅한다' 라고 한다.
A 페이지에서 Mutation을 했다면 B 페이지에서는 Query를 실행하여 A 페이지 정보를 B 페이지에서 보여줄 수 있다.
다만, A 페이지에서 Mutation하는 과정에서 백엔드 컴퓨터 문제, 수정 게시물 삭제 등의 실패가 발생할 수 있다.
위에서 말한 바와 같이, Mutation이 실패하는 경우가 종종 있을 수 있다.
Mutation이 실패하였음에도 아무런 알림 없이 B 페이지로 라우팅된다면 웹페이지 사용자는 B 페이지에서 Query가 왜 안되는지 의문이 들 것이다.
따라서 Mutation이 실패할 경우 웹페이지에서 알림을 줄 필요가 있다.
이러한 알림을 try ~ catch를 사용하여 줄 수 있다!
try ~ catch 는 mutation 성공 시 처리사항과 실패 시 처리사항을 나눠준다.
try에는 성공 시 처리사항을, catch에는 실패 시 처리사항을 써준다.
try {
await createBoard({
variables: {
a: "짱구",
b: "안녕",
c: "안녕하세요"
}
})
} catch (error) {
alert (error.message) //error.message는 백엔드에서 보내주는 실패메세지이다!
}