我要从此函数返回Promise
const liab_config = () => {
return axios.get(`${config.server_url}/fetch_config_liab`);
}
export default { liab_config }
并尝试处理另一个文件中的Promise
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));
}
在这里我得到的错误是:
在行未捕获的TypeError:Object(...)不是函数
liab_config().then((response)
上。可能是什么原因?
答案 0 :(得分:4)
访问此类内容
import liab_config from './utils/kc-adapter'
这意味着您要求的默认导出必须写为
const liab_config = () => {
return axios.get(`${config.server_url}/fetch_config_liab`);
}
export { liab_config as default };
或类似的
const liab_config = () => {
return axios.get(`${config.server_url}/fetch_config_liab`);
}
export default liab_config;
如果您不想将其设置为默认值,则可以通过
export const liab_config = () => {
return axios.get(`${config.server_url}/fetch_config_liab`);
}
或
const liab_config = () => {
return axios.get(`${config.server_url}/fetch_config_liab`);
}
export { liab_config };
并像
一样进行访问import {liab_config} from './utils/kc-adapter'
答案 1 :(得分:3)
您正在默认导出对象文字。您要使用命名出口
const liab_config = …;
export { liab_config as liab_config }
// shorter:
const liab_config = …;
export { liab_config }
// or just:
export const liab_config = …;
使用
import { liab_config } from './utils/kc-adapter'
或默认导出
const liab_config = …;
export { liab_config as default }
// or just:
default export const liab_config = …;
// or without the local name:
default export …;
使用
import liab_config from './utils/kc-adapter'