Je retourne un Promise
de cette fonction
const liab_config = () => {
return axios.get(`${config.server_url}/fetch_config_liab`);
}
export default { liab_config }
Et essayer de gérer le Promise
dans un autre fichier
import liab_config from './utils/kc-adapter'
function set_liab_config(){
liab_config().then((response) => {
if(response.data.success){
let { kc_config_liab } = response.data;
return kc_config_liab['auth-server-url'];
}
else
return null;
}).catch(ex =>
console.log(ex));
}
Ici, je reçois l'erreur comme:
TypeError non récupéré: l'objet (...) n'est pas une fonction
en ligne liab_config().then((response)
. Quelle pourrait être la raison?
Vous exportez par défaut un objet littéral. Vous souhaitez utiliser une exportation nommée
const liab_config = …;
export { liab_config as liab_config }
// shorter:
const liab_config = …;
export { liab_config }
// or just:
export const liab_config = …;
avec
import { liab_config } from './utils/kc-adapter'
ou une exportation par défaut
const liab_config = …;
export { liab_config as default }
// or just:
default export const liab_config = …;
// or without the local name:
default export …;
avec
import liab_config from './utils/kc-adapter'
Lorsque vous accédez à quelque chose comme ça
import liab_config from './utils/kc-adapter'
Cela signifie que vous demandez l'exportation par défaut qui doit être écrite comme
const liab_config = () => {
return axios.get(`${config.server_url}/fetch_config_liab`);
}
export { liab_config as default };
ou comme ça
const liab_config = () => {
return axios.get(`${config.server_url}/fetch_config_liab`);
}
export default liab_config;
Et si vous ne voulez pas le faire par défaut, passez-le comme
export const liab_config = () => {
return axios.get(`${config.server_url}/fetch_config_liab`);
}
ou
const liab_config = () => {
return axios.get(`${config.server_url}/fetch_config_liab`);
}
export { liab_config };
Et accédez-y comme
import {liab_config} from './utils/kc-adapter'