Nuxt – asyncData with multiple enpoints

problem

using Promise.all to retrieve data from more than one endpoint.
* payoadUrl is for retrieving payload.js if necessary ( from nuxt-payload-extractor module )

solution

  async asyncData({ app, query, error, $axios, $payloadURL, route, params }) {
    // if generated and works as client navigation, fetch previously saved static JSON payload
    if (process.static && process.client)
      // return await $axios.$get($payloadURL(route))
      return $axios.$get($payloadURL(route))

    const [venuesRes, countriesRes, categoriesRes] = await Promise.all([
      app.$axios.$get('http://localhost:8080/api/venues'),
      app.$axios.$get('http://localhost:8080/api/countries'),
      app.$axios.$get('http://localhost:8080/api/categories')
    ])
    return {
      countries: countriesRes.data,
      venues: venuesRes.data,
      categories: categoriesRes.data
    }
  },