체인의정석

fetch 사용 본문

개발

fetch 사용

체인의정석 2021. 2. 22. 11:12
728x90
반응형

fetch는 XMLHttpRequest 형태의 API를 노드에서 직접적으로 받아서 쓸 때 사용한다.

 

다음과 같은 코인 가격정보를 가져오는 예시에서 사용하였다.

 

observablehq.com/@jflatow/compound-price-feed

 

Compound Price Feed

Prices Current Current prices on : Percentage deviation in on-chain prices (from reported prices): Historical Price vs Block* Events Posters Anyone may post, this one is run by Compound: World Appendix

observablehq.com

Motivation

Instead of implementing XMLHttpRequest in Node.js to run browser-specific Fetch polyfill, why not go from native http to fetch API directly? Hence, node-fetch, minimal code for a window.fetch compatible API on Node.js runtime.

See Matt Andrews' isomorphic-fetch or Leonardo Quixada's cross-fetch for isomorphic usage (exports node-fetch for server-side, whatwg-fetch for client-side).

 

먼저 fetch를 설치 해준다.

 

npm install node-fetch --save

 

www.npmjs.com/package/node-fetch

 

node-fetch

A light-weight module that brings window.fetch to node.js

www.npmjs.com

 

 

 

아래 블로그를 통해 fetch를 받아올 때는 다음과 같은 형태로 json으로 한번 바꿔주어야 사용할 수 있다는 것을 알게 되었다.

wooooooak.github.io/javascript/2018/11/25/fetch&json()/

 

fetch사용시 유의 사항 (json() 함수 사용하기) · 쾌락코딩

fetch사용시 유의 사항 (json() 함수 사용하기) 25 Nov 2018 | javascript network basic js 개발자들은 network request 요청이 필요할 경우 대부분 axios.js나 기타 다른 라이브러리를 쓰는 것 같다. js에서 기본적으

wooooooak.github.io

다음은 고친 코드의 결과이다.

const fetch = require('node-fetch');
.
.
.
// reports = (await fetch('https://prices.compound.finance')).json()
fetch('https://prices.compound.finance')
    .then((res) => {
        return res.json(); //Promise 반환
    })
    .then((json) => {
        console.log(json); // 서버에서 주는 json데이터가 출력 됨
    });
    
    

 

728x90
반응형
Comments