Sachin Ananthakumar
Sachin Ananthakumar

Reputation: 810

Is fetch inside getStaticProps and getServerSideProps the same as the native browser fetch API?

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

Answers (1)

juliomalves
juliomalves

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

Related Questions