-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[정하윤] sprint4 #69
The head ref may contain hidden characters: "basic-\uC815\uD558\uC724-sprint4"
[정하윤] sprint4 #69
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
전반적으로 잘 짜주셨습니다!
비동기 함수 간의 순서 보장에 대해 코멘트 남겨뒀습니다.
const newArticle = await createArticle(postArticleData); | ||
console.log("createArticle:", newArticle); | ||
|
||
const updatedArticle = await patchArticle(newArticle.id, { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
async 밖에서 await 을 쓰는건 아무 의미가 없습니다!
newArticle 은 이러면 pending 중인 Promise 객체일 뿐이고, id 에 접근할 수 없습니다.
(async () => {
const newArticle = await createArticle(postArticleData);
console.log("createArticle:", newArticle);
const updatedArticle = await patchArticle(newArticle.id, {
title: "[**급구**] 에어팟 오른쪽 한짝만 삽니다",
content: "평일 역삼역 직거래 가능",
});
console.log("patchArticle:", updatedArticle);
})();
이런 식으로 IIFE 를 활용해서 순서를 보장하며 실행할 수 있습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
리뷰 감사합니다. �제출 당시에 작성한 코드는 최종적으로 정상적으로 동작이 되는것을 확인하고 제출하였습니다. 그래서 다시 확인해보니 해당 함수는 정상적으로 동작하는 것을 확인하였고, 알아보니 Node.js 14.8.0 버전 이상부터는 최상위 레벨에서 await만 사용이 가능하다고 하네요. (Top-level await) 덕분에 다시 공부하고 숙지하게되었습니다 감사합니다.
요구사항
기본
'https://sprint-mission-api.vercel.app/articles' API를 이용하여 아래 함수들을 구현해 주세요.
getArticleList() : GET 메서드를 사용해 주세요.
page, pageSize, keyword 쿼리 파라미터를 이용해 주세요.
getArticle() : GET 메서드를 사용해 주세요.
createArticle() : POST 메서드를 사용해 주세요.
request body에 title, content, image 를 포함해 주세요.
patchArticle() : PATCH 메서드를 사용해 주세요.
deleteArticle() : DELETE 메서드를 사용해 주세요.
fetch 혹은 axios 를 이용해 주세요.
응답의 상태 코드가 2XX가 아닐 경우, 에러메시지를 콘솔에 출력해 주세요.
.then() 메서드를 이용하여 비동기 처리를 해주세요.
.catch() 를 이용하여 오류 처리를 해주세요.
'https://sprint-mission-api.vercel.app/products' API를 이용하여 아래 함수들을 구현해 주세요
getProductList() : GET 메서드를 사용해 주세요.
page, pageSize, keyword 쿼리 파라미터를 이용해 주세요.
getProduct() : GET 메서드를 사용해 주세요.
createProduct() : POST 메서드를 사용해 주세요.
request body에 name, description, price, tags, images 를 포함해 주세요.
patchProduct() : PATCH 메서드를 사용해 주세요.
deleteProduct() : DELETE 메서드를 사용해 주세요.
async/await 을 이용하여 비동기 처리를 해주세요.
try/catch 를 이용하여 오류 처리를 해주세요.
구현한 함수들을 아래와 같이 파일을 분리해 주세요.
export를 활용해 주세요.
ProductService.js 파일 Product API 관련 함수들을 작성해 주세요.
ArticleService.js 파일에 Article API 관련 함수들을 작성해 주세요.
이외의 코드들은 모두 main.js 파일에 작성해 주세요.
import를 활용해 주세요.
각 함수를 실행하는 코드를 작성하고, 제대로 동작하는지 확인해 주세요.
주요 변경사항
멘토에게