Skip to content
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

Axios vs. Fetch API: Selecting the Right Tool for HTTP Requests #42

Merged
merged 3 commits into from
Aug 12, 2024

Conversation

soi-ha
Copy link
Member

@soi-ha soi-ha commented Aug 5, 2024

현재 저희 팀은 fetch를 사용하고 있는데요.
프로젝트를 시작하기 전에 무작성 axios를 사용하려고 했던 점이 떠올랐습니다.
그냥 다들 프로젝트에서 axios를 사용한다는 이유만으로요.
글을 선정할 때, 기술검토에 지니가 올린 axios가 필요한 이유가 떠올라서 그렇다면 axios와 fetch의 차이는 뭘까? 이것도 모르고 axios를 사용하려고 했다! 는게 떠올라서 한번 찾아봤습니당

한눈에 읽기!

@soi-ha soi-ha requested a review from llqqssttyy August 5, 2024 04:00
@soi-ha soi-ha self-assigned this Aug 5, 2024
Copy link
Member

@llqqssttyy llqqssttyy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

좋은 글 감사합니다 소하~
axios가 이렇게 많은 기능을 가지고 있는지, fetch로 동일한 기능을 만들면 얼마나 많은 코드가 필요한지 알 수 있었어요.
코드 예시가 잘못된 부분이 있어서 RC 드립니다! 고치고 다시 말씀해주세요~

Comment on lines 314 to 338
const axios = require('axios');

// 요청의 기본 URL 정의
const baseURL = 'https://jsonplaceholder.typicode.com/todos';

// 요청을 위한 URL 정의
const urls = [`${baseURL}/1`, `${baseURL}/2`, `${baseURL}/3`];

// Axios 요청 프라미스 배열 생성
const axiosRequests = urls.map((url) => axios.get(url));

// `axios.all()`을 사용하여 여러 요청을 동시에 전송
axios
.all(axiosRequests)
.then(
axios.spread((...responses) => {
// 모든 요청의 응답 처리
responses.forEach((response, index) => {
console.log(`Response from ${urls[index]}:`, response.data);
});
})
)
.catch((error) => {
console.error('Error fetching data:', error.message);
});
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 여기 fetch로 만드는 예시가 아니라 axios 예시예용!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

헐 이제 알았네요 ^>^>

Comment on lines +97 to +110
fetch('https://jsonplaceholder.typicode.com/todos')
.then((response) => {
if (!response.ok) {
throw Error(`HTTP error: ${response.status}`);
}
return response.json();
})
.then((data) => {
console.log('Data received:', data);
})
.catch((error) => {
console.error('Error message:', error.message);
});
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이건 그냥 제안인데, 들여쓰기가 tab이 아니라 띄어쓰기 2번이면 코드 가독성이 더 좋을 것 같아요!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다음부터 반영해보겠읍니다..

@llqqssttyy llqqssttyy merged commit bd5c675 into main Aug 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants