Network Requests with node-fetch
There comes a time in every developer's life where it's time to make a network request.
Here's one way I do it with node-fetch
. I like using it in tandem with Chrome's "copy as fetch" feature in the Network tab.
Install the module:
yarn add node-fetch
Create a file fetchData.js
like so (assuming you're hitting a JSON endpoint)
module.exports = async function () {
const data = await fetch(
"https://cooladdress.com",
{
credentials: "omit",
headers: {
accept: "application/json, text/javascript, */*; q=0.01",
// whatever comes straight from Chrome
},
referrer: "https://whatever.com",
referrerPolicy: "no-referrer-when-downgrade",
body: null,
method: "GET",
mode: "cors"
}
).then(result => result.json())
return data
}
And then in another file, import the module:
const fetchData = require('./fetchData')
async function processData() {
const data = await fetchData()
}
Note that since the module exported from fetchData
is an async function, we need to put it in an async
function and await
the value.