"Promise based HTTP client for the browser and Node.js"
๋ธ๋ผ์ฐ์ ๋ฅผ ์ํ Promise ๊ธฐ๋ฐ์ ํด๋ผ์ด์ธํธ
์๋๋ "XHR"์ด๋ผ๋ ๋ธ๋ผ์ฐ์ ๋ด์ฅ ๊ฐ์ฒด๋ฅผ ํ์ฉํด AJAX ์์ฒญ์ ์ฒ๋ฆฌํ๋๋ฐ, ์ด๋ณด๋ค ํธ๋ฆฌํ AJAX ์์ฒญ์ด ๊ฐ๋ฅํ๋๋ก ๋์์ ์ค
ํ์ฅ ๊ฐ๋ฅํ ์ธํฐํ์ด์ค์ ํจ๊ป ํจํค์ง๋ก ์ฌ์ฉ์ด ๊ฐํธํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณต
const xhr = new XMLHttpRequest ( )
const URL = 'https://jsonplaceholder.typicode.com/todos/1'
xhr . open ( 'GET' , URL )
xhr . send ( )
xhr . onreadystatechange = function ( event ) {
if ( xhr . readyState === XMLHttpRequest . DONE ) {
const status = event . target . status
if ( status === 0 || ( status >= 200 && status < 400 ) ) {
const res = event . target . response
const data = JSON . parse ( res )
console . log ( data )
console . log ( data . title )
} else {
console . error ( 'Error!' )
}
}
}
< script src ="https://unpkg.com/axios/dist/axios.min.js "> </ script >
< script >
const URL = 'https://jsonplaceholder.typicode.com/todos/1'
axios . get ( URL )
. then ( res => console . log ( res . data . title ) )
. catch ( err => console . log ( 'Error!' ) )
</ script >
todos์์ 1๋ฒ ๋ฐ์ดํฐ ๋ฐ์์ค๊ธฐ
const URL = 'https://jsonplaceholder.typicode.com/todos/1'
// const responsePromise = axios.get(URL)
// responsePromise
// .then(function(res){return res.data} )
// .then(function (x) {console.log(x.title)})
axios . get ( URL ) //Promise ๋ฆฌํด
//data ๋ฐ์์ค๊ธฐ
. then ( res => res . data )
//data์์ title ๋ฝ๊ธฐ
. then ( todo => todo . title )
//title ์ถ๋ ฅํ๊ธฐ
. then ( title => console . log ( title ) )
//๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์๋ฌ ๋ฑ๊ธฐ
. catch ( err => console . error ( err )
. finally ( x ) = > console . log ( '๋' ) )
todolist์ ์ ๊ทผํด์ 10๋ฒ ๋ฐ์ดํฐ ๋ฐ์์ค๊ธฐ
const URL = 'https://jsonplaceholder.typicode.com/todos/'
// const responsePromise = axios.get(URL)
// responsePromise
// .then(function(res){return res.data} )
// .then(function (x) {console.log(x.title)})
axios . get ( URL ) //Promise ๋ฆฌํด
//data ๋ฐ์์ค๊ธฐ
. then ( res => {
const todoArray = res . data
const todo = todoArray . find ( todo => todo . id === 10 )
return axios . get ( `${ URL } ${ todo . id } ` )
} )
. then ( res => console . log ( res . data ) )
//๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์๋ฌ ๋ฑ๊ธฐ
. catch ( err => console . error ( err ) )
. finally ( x => console . log ( '๋' ) )