Graphql mutation
는 백엔드의 오류나 요청한 내용의 삭제 등 여러한 이유로 실패할 수 있습니다.
따라서 try ~ catch
를 사용하여 성공과 오류에 대한 처리를 나눠서 작업해야 합니다.
const onClickSubmit = async () => {
try {
// try에 있는 내용을 시도하다가 실패하면, 다음에 있는 모든 줄들을 모두 무시하고, catch에 있는 내용이 실행됨.
const result = await 나의함수({
variables: {
//variables = $역할
writer: "ezi_w",
title: "ezi_t",
contents: "dezi_c",
},
});
console.log(result);
console.log(result.data.createBoard.number);
// router.push("/05-05-dynamic-routing-board-mutation-moved/" + result.data.createBoard.number);
router.push(
`/section05/05-05-dynamic-routing-board-mutation-moved/${result.data.createBoard.number}`
);
} catch (error) {
alert(error.message);
}
};
```![](https://velog.velcdn.com/images/yoonezi/post/525c3158-e0f1-46d9-b31b-424a4c4b8421/image.png)
![](https://velog.velcdn.com/images/yoonezi/post/527b12b6-8e8c-4841-8252-41274e8cc9b1/image.gif)
![](https://velog.velcdn.com/images/yoonezi/post/135b8672-2ee2-4542-baed-89c0e5dd5782/image.gif)