Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

275
Views
How to invalidate array of sluges in Next.js?

Since 12.1.0 it is possible the On-demand Revalidation.

https://nextjs.org/docs/basic-features/data-fetching/incremental-static-regeneration

Sending array of programIds, how can I invalidate array of slugs? I tried this:

export default async function handler(req, res) {
    // Check for secret to confirm this is a valid request
    if (req.query.secret !== process.env.NEXT_PUBLIC_SECRET_TOKEN) {
        return res.status(401).json({ message: 'Invalid token' })
    }

    try {
        const programIds: String[] = req.query.programId
        programIds.map((programId) =>
            await res.unstable_revalidate(`/hu/buyTicket/${programId}`)
        )
        
        return res.json({ revalidated: true })
    } catch (err) {
        // If there was an error, Next.js will continue
        // to show the last successfully generated page
        return res.status(500).send('Error revalidating')
    }
}

I got this error:

'await' expressions are only allowed within async functions and at the top levels of modules.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

.map does not respect await even if you use async. In your situation, you will receive a response before revalidation is completed, which is incorrect behavior.

The correct method should include the usage of Promise.all so that res.json is called only after all the revalidations are completed, and try/catch block can catch error correctly.

  await Promise.all(programIds.map(async (programId) =>
        await res.unstable_revalidate(`/hu/buyTicket/${programId}`)
  ))
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!