У меня есть оболочка APIService вокруг Axios, и я возвращаю ее и использую .then () для обработки обещания, но теперь я хочу использовать async / await;Интересно, почему моя функция больше не работает в этом новом сценарии;так как я только добавляю пару конфигураций к экземпляру Axios перед его возвратом.
Логика перехода к async / await заключается в том, что это лучший способ использования nextjs и getInitialProps.
My APIService.js;
import axios from "axios";
import { API_URL } from './constants';
const config = {
baseURL: API_URL,
};
const APIService = axios.create(config);
APIService.interceptors.request.use(request => {
const token = 'blah;
request.headers.Authorization = token ? `Bearer ${token}` : '';
return request;
});
APIService.interceptors.response.use(
response => response,
error => {
if (error.response.status === 401) {
// do something
return true;
}
return Promise.reject(error);
},
);
export default APIService;
Я хочу, чтобы вышеуказанная функция работала при таком вызове;
import APIService from '../../utils/APIService';
Page.getInitialProps = async function({ res, query }) {
const req = await APIService.get('/endpoint', {});
const { data } = req;
return {
data
};
};
Как мне выполнить рефакторинг моего APIService для работы в вышеуказанном сценариии зачем нужен рефакторинг, поскольку я не манипулирую работой функции Axios ...