@Ladn0

Можно ли использовать axios не из asyncData?

На странице есть получение новостей через asyncData:
async asyncData(ctx) {
      const news = ctx.$axios.$get('http://127.0.0.1:8000/api/v1/news/?format=json').then(res => res.json())

      return { news }


Я же хочу вынести логику работы с api в отдельные файлы в корне проекта:
-api
--axios.js
--news.js
В axios.js будет настройка конфигурации axios, импортированного из модуля axios:
import axios from 'axios'

axios.defaults.baseURL = 'http://127.0.0.1:8000/api/v1'

export default axios

В news.js:
import axios from "~/api/axios";

const getNewsList = async () => {
  return await axios.get('http://127.0.0.1:8000/api/v1/news/?format=json').then(res => res.data)
}
export default {
   getNewsList
}

А на странице в asyncData:
async asyncData(ctx) {
    const news = await newsApi.getNewsList()

    return { news }

Можно ли так сделать? Или использование axios из контекста asyncData привносит что-то, что не охватывает обычный импорт axios как модуля? И если да, то можно ли просто передать ctx.$axios в качестве параметра функции getNewsList?
Заранее благодарю за ответы)
  • Вопрос задан
  • 40 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы