Как вызвать post API внутри nuxt.config генерирует()

#nuxt.js

Вопрос:

Как вызвать API post внутри generate , что также требовало большого количества зависимостей от других API.

 generate: {
    // create an array of all routes for generating static pages
    // careful, this is only used by `npm run generate`. These must match SPA mode routes
    routes: function () {
      const data=[{treeid:"122"}]
      return axios.post(
        'https://jsonplaceholder.typicode.com/users',data
      )
      .then((response) => {
          let users = response.data.map((user) => {
              return {
                route: '/users/'   user.id,
                payload: user
              }
          });
          return ['/some-other-dynamic-route-or-array-of-routes/', ...users]
       });
     }
   }
 

Здесь я хочу вызвать API post ,но для этого требуется еще один API treeid зависимостей, я определил его здесь как статический, но если я хочу динамически, то что я должен для этого сделать?

Ответ №1:

Я не уверен, правильно ли я понял ваш вопрос.

Вы пытаетесь вызвать 2 асинхронные функции в своей функции маршрутов? Это не должно быть проблемой? Или вы пытаетесь передать дополнительные переменные функции, чтобы при запуске она их использовала? Для этого вы могли бы создать свой собственный «крючок»

 // nuxt.config.js
generate: {
    routes: async () => {
      const treeIds = await getTreeIds(); // call your function that fetches the treeIds
      const users = await axios.post(
          'https://jsonplaceholder.typicode.com/users', data
      );
      const routes = users.data.map((user) => {
        return {
          route: '/users/'   user.id,
          payload: user
        }
      });
      return ['/some-other-dynamic-route-or-array-of-routes/', ...routes]
    }
  }