Добавить функции в nuxt.config.js - PullRequest
0 голосов
/ 11 февраля 2019

В основном у меня есть приложение, и при генерации я генерирую все страницы, карту сайта и RSS-канал, хотя мне нужно сделать один и тот же аксиос 3 раза

примерно так

nuxt.config.js

generate: {
    routes: function() {
        return axios.get(data)
            .then(res => {
            ... 
            })
    }
},
sitemap: {
    routes: function() {
        return axios.get(data)
            .then(res => {
            ... 
            })
    }
},
feed: {
   etc...
}

сейчас Есть ли способ, которым я могу вызвать данные один раз и передать их каждому из этих методов модуля?Я попытался поместить некоторые функции вверху nuxt.config.js, но я получал ошибки при генерации

1 Ответ

0 голосов
/ 11 февраля 2019

Вы можете попробовать сохранить обещание в переменной для повторного использования, например,

const routesPromise = axios.get(data).then(({ data }) => data)

// snip

generate: {
  routes () {
    return routesPromise.then(data => {
      // ...
    })
},
sitemap: {
  routes () {
    return routesPromise.then(data => {
      // ...
    })
  }
},
// etc

Добавление .then() вызовов к обещанию не изменит исходное разрешенное значение, поэтому вы можете сохранитьиспользовать его столько раз, сколько вы хотите, при этом отправляя только один HTTP-запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...