본문 바로가기

JavaScript

(83)
[JavaScript] Promise 객체 [promise 객체] promise 객체는 작업에 관한 상태정보를 담고 있는 객체로, fetch 함수는 promise 객체를 return 함. promise 객체는 다음과 같이 상태에 따라 세 경우로 나눌 수 있음. pending : 진행 중 fulfilled : 성공 rejected : 실패
[JavaScript] 비동기 실행 함수 [동기실행] 한번 시작한 작업을 완료하기 전까지 코드의 실행 흐름이 절대 그 다음코드로 넘어가지 않는 것으로, 시작한 작업을 완벽하게 처리하고나서 그 다음코드로 실행 흐름이 넘어감. 동기 실행의 경우 코드가 보이는 순서대로 실행됨. [비동기실행] 한번 작업을 시작해두고, 그 작업이 완료되기 전이더라도 콜백만 등록해두고 코드의 실행 흐름이 바로 그 다음코드로 넘어감. 추후에 특정 조건이 만족되면 콜백함수가 실행됨으로써 해당 작업을 완료. 비동기 실행에서는 코드가 등장하는 순서대로 실행되는 것이 아님. 비동기 실행이 동기 실행에 비해 동일한 작업을 더 빠른시간내에 처리할 수 있음 [비동기 실행함수] 1. setTimeout 함수 setTimeout 함수는, 특정 함수의 실행을 원하는 시간만큼 뒤로 미루기 위..
[JavaScript] fetch 함수와 비동기 실행 다음 fetch 함수를 실행시켜보면 다음과 같은 결과가 출력됨. console.log('시작!'); fetch('https://jsonplaceholder.typicode.com/users') .then((response) => response.text()) .then((result) => { console.log(result); }); console.log('끝!'); console.log('끝!'); 이 fetch 함수보다 먼저 출력되는 것을 확인할 수 있는데, 이는 fetch 함수에 비동기실행이 되는 부분이 있기 때문 [fetch 함수의 비동기실행] 1. 1 에서 '시작!' 이 출력 2. fetch 함수가 실행되며 Request를 보내고 어떤 객체를 리턴함. 이 때 3, 4에서 그 객체의 then ..
[JavaScript] Status code (상태코드) Request 와 마찬가지로, Response 도 head 와 body로 나눌 수 있음. 1. 개발자도구에서 fetch 함수로 GET request 를 전달 다음과 같이 Response가 잘 전달된 것을 확인할 수 있음. 2. Network > users > status code 확인 Status code는 response 의 head 에 들어있는 정보로 상태코드라고 하며, 100 ~ 500 번대까지 다양한 상태코드가 있다. [상태코드 의미] (1) 100번대 서버가 클라이언트에게 정보성 응답(Informational response)을 줄 때 사용되는 상태 코드 100 Continue : 클라이언트가 서버에게 계속 리퀘스트를 보내도 괜찮은지 물어봤을 때, 계속 리퀘스트를 보내도 괜찮다고 알려주는 상태 ..
[JavaScript] PUT/ DELETE request 보내기 참고용 url : https://learn.codeit.kr/api/members https://learn.codeit.kr/api/members learn.codeit.kr 1. PUT request : 기존 직원의 정보를 수정 저번에 추가했던 새 직원 '신짱구' 의 부서를 engineering 에서 marketing 으로 옮기고자 함 const member = { name: '신짱구', email: 'zzangu123@codeitmall.kr', department: 'marketing', }; fetch('https://learn.codeit.kr/api/members/6', { method: 'PUT', body: JSON.stringify(member), }) .then((response) =>..
[JavaScript] GET/ POST request 보내기 참고용 url 주소 : https://learn.codeit.kr/api/members https://learn.codeit.kr/api/members learn.codeit.kr 1. GET request : 직원의 정보를 얻기 fetch 함수는 기본적으로 아무런 설정도 해주지 않으면 GET request 를 보내도록 설정됨 1-1. 3번 직원의 정보 얻기 2. POST request : 새로운 직원의 정보를 추가 GET 이 아닌 다른 메소드 값을 가진 request 를 보내려면 다음과 같은 옵션 객체가 필요함. const newMember = { name: '신짱구', email: 'zzangu123@codeitmall.kr', department: 'engineering', }; fetch('htt..
[JavaScript] Request 의 Head/ Body 하나의 Request 는 Head와 Body 부분으로 나뉘어져 있음. Head : Request에 대한 부가 정보, 메소드 (method) GET, DELETE Body : 실제 데이터를 담는 부분 PUT, POST 1. fetch 함수로 request 보냄 2. Network > user 확인 Request 의 header들을 확인할 수 있음. header 란 head 안에 존재하는 하나하나의 키와 값의 쌍을 의미하며, head 안의 header 들은 request 에 관한 부가 정보를 담고있음.
[JavaScript] 객체 변환 JSON 데이터 개발자 도구에서 JSON 데이터의 데이터 타입을 확인하면, response.text() 에 따라 string(문자열) 인 것을 확인할 수 있음. 그러나 string 타입의 객체로는 데이터를 다루는데 어려움이 있어서, JSON 객체를 다시 자바스크립트 객체로 변환하는 과정이 필요함. fetch('https://jsonplaceholder.typicode.com/users') .then((response) => response.text()) .then((result) => { const users = JSON.parse(result) }); JSON 객체에 parse 라는 메소드를 사용하면, string타입의 JSON 객체를 자바스크립트 객체로 변환할 수 있음. fetch('https://jsonplaceh..