Skip to main content Link Search Menu Expand Document (external link) Copy Copied
  1. 01 구조작성
  2. 02 script 작성
  3. 03 methods
    1. fetch
    2. filter

검색기능이 추가된 무한 스크롤을 구현해보자

01 구조작성

html/css


02 script 작성

API 를 연동하여 데이터를 서버에서 받는다 데이터의 일부만 화면에 출력하고 스크롤이 내려가면 데이터를 추가로 출력한다.


03 methods

사용된 주요 메서드

fetch

🔗설명페이지

🔑 XMLHttpRequest 객체의 최신버전으로 네트워크 통신을 지원하는 객체이다 (HTTP 요청 전송 기능을 제공하는 Web API)
fetch(url주소 : string, fetch 설정 : object) //Promise 객체 반환

fetch 특징

  • 비동기 처리
  • promise 객체 반환

js


//fetch는 네트워크 통신할 때 사용하는 함수로 비동기 처리를 할 수 있습니다.
const result = fetch('URL 주소'); 
console.log(result) //fetch 함수는 Promise 객체를 반환합니다.
result.then(function(){ 
	//여기 작성된 코드는 비동기 처리가 완료된 후 동작합니다.
})
result.catch(function(){
	//여기 작성된 코드는 비동기 처리가 완료됐으나 에러가 발생했을 때 동작합니다.
})

//아래와 같이 합쳐서 사용할 수 있습니다
fetch('URL 주소')
.then(function(response){ //then 함수에는 callback 함수를 입력합니다.
	//응답을 받았을 때 수행하는 코드를 작성
	//성공적으로 실행됐다면 response에는 fetch의 결과가 들어있습니다.
})
.catch(err => {  //catch 함수에는 callback 함수를 입력합니다.
	//비동기 작업에 실패했을 때 수행하는 코드 작성
	//err에는 에러 관련 정보들이 들어있습니다. 
})
console.log('네트워크 통신이 끝날 때 까지 기다리지 않고 바로 실행되요 1');
console.log('네트워크 통신이 끝날 때 까지 기다리지 않고 바로 실행되죠 2');


js

const url = 'https://3c2f8e74-58e5-4eab-8310-325f6dc34572.mock.pstmn.io/test';
fetch(url).then(function(response){
	//통신후 결과를 json 객체로 변환
	return response.json() //Promise 객체를 반환
}).then(function(result){
	//result에는 통신결과가 저장
	console.log(result);
}).catch(function(err){
	//err에는 에러가 났을 때 관련 정보 저장
	//에러 미검출시 실행안됨
	console.log(err)
})

filter