Reputation: 810
I have been using Next.js for a while now, and I doubt the fetch API used inside getStaticProps
and getServerSideProps
.
Below I have written my understanding about getStaticProps
and getServerSideProps
:
getStaticProps gets called on build time and during ISR
getServerSideProps will get called at request time, but both don't have access to the client-side.
This is my understanding of these async functions.
So my doubt is we only write server-side code and Node.js doesn't have a native fetch API, so what fetch API is used inside getStaticProps
and getServerSideProps
? Is it the native fetch ? Or some polyfill with the name fetch?
async function getStaticProps(ctx){
// Which fetch API is this, browser fetch or some polyfill with same name as
fetch?
const data = fetch(.../..) // Some API
return {
props: {
data
}
}
}
async function getServerSideProps(ctx){
// ** Which fetch API is this, browser fetch or some polyfill with same name as
fetch?
const data = fetch(.../..) // **Some API**
return {
props: {
data
}
}
}
Really curious to know which fetch API is used.
Upvotes: 4
Views: 847
Reputation: 50308
So my doubt is we only write server-side code and node.js doesn't have a native fetch API, so what fetch API is used inside getStaticProps and getServerSideProps?
In the Node.js environment (getStaticProps
, getServerSideProps
and API routes) Next.js uses node-fetch
to polyfill the fetch
API.
Upvotes: 2