//1. sayHello라는 함수가 콜백 함수로 사용되는 예시를 보여줍니다.
function sayHello(){ //sayHello 라는 함수를 만듭니다.
console.log('나는 그랩이다.');
}
function getHuman(callback){ //getHuman 함수의 파라미터에는 함수가 들어갑니다.
callback(); //callback 파라미터는 함수이기에 실행시킬 수 있습니다.
}
//getHuman의 파라미터인 callbackFunc에는 sayHello가 들어가고 sayHello가 실행됩니다.
getHuman(sayHello) //'나는 그랩이다'가 출력됩니다.
//아래와 같은 형식으로도 사용이 가능해요. 이렇게 많이 사용되니까 꼭 알아두면 좋습니다.
//함수의 이름을 붙여서 선언하지 않고 1회용으로 사용되는 함수를 만듭니다.
getHuman(function(){
console.log('나는 그랩이다.')
})
//대표적으로 setTimeout, setInterval 함수가 있습니다.이들은 javascript 기본으로 탑재되어 있는 내장함수입니다.
//이 두 함수는 첫 번째 인자에 콜백 함수를 넣고 두번째에 ms 단위의 숫자를 넣습니다.
setTimeout(function(){
console.log('3초 뒤에 실행됩니다!');
}, 3000)
setInterval(function(){
console.log('1초마다 출력됩니다')
},1000)
//콜백에 사용될 함수
function callbackFunc(name){
console.log(name);
}
function sayHello(callback){
var text = 'hello';
callback(text);
}
sayHello(callbackFunc); //hello가 출력됩니다.
sayHello(function(value){ //위와 동일하게 value에는 hello가 들어갑니다.
console.log(value)
})
//setTimeout 함수도 비동기 처리를 지원합니다.
setTimeout(function(){
console.log('3초 뒤에 실행됩니다!');
}, 3000)
console.log('바로 실행됩니다.');
백틱(`) 3개 작성 jsx
백틱(`) 3개 작성
Failed to fetch at :1:14 이라는 오류가 뜬다. 모르겠다.
let result = fetch('Url주소');
console.log(result);
fetch()
promise 객체를 반환하는 함수이다. 그리고 네트워크 통신함수이다.result.then(function(response){
console.log('이 코드는 네트워크 통신이 끝나고 나서 실행되요.',response)
}).catch(function(error){
console.log('이 코드는 에러가 났을 때 실행되요',error)
})
.then()
과 .catch()
를 사용할 수 있다..then()
안에는 익명 함수가 들어간다..catch()
안에도 익명 함수가 들어간다.클라이언트
정보를 요구하고, 받는다.서버
요구받은 정보를 찾고, 전달한다.https://www.youtube.com/watch?v=5oQIwF7id2A
- head tag안에 아래의 코드를 복붙한다.
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
- axios 라이브러리를 다운받는 역활을 한다.
- axios에서 get, post 사용하기
axios.get(url주소) axios.post(url주소,data 객체)
- 통신 결과가 성공이면, result가 출력되므로 result에 담긴 네트워크 결과가 출력된다.
result.status
status 코드를 알 수 있다.result.data
HTTP가 응답한 결과를 알 수 있다.//기본적으로 axios 메소드는 promise 객체를 return 합니다. axios.get("https://jsonplaceholder.typicode.com/todos/1") .then(function (result) { console.log("통신 결과",result); console.log("status code : ",result.status); console.log("data :",result.data); }) .catch(function (error) { console.log("통신 실패", error); });