使用ES6导入apolloFetch后,能否通过该对象访问myFunction函数?
答案:不能直接这么访问哦
不行的,你现在的代码里myFunction只是一个独立声明的函数,并没有和apolloFetch对象产生关联。你只是分别定义了这两个实体,最后只导出了apolloFetch,所以当你导入它之后,这个对象上根本不存在myFunction这个属性,调用apolloFetch.myFunction()肯定会报错。
要实现你想要的效果,有两种常见的方式:
方式一:把函数挂载到apolloFetch对象上
修改你的导出代码,把myFunction添加为apolloFetch的属性:
const apolloFetch = createApolloFetch(); function myFunction () {}; // 把函数挂载到apolloFetch对象上 apolloFetch.myFunction = myFunction; export default apolloFetch;
这样之后,当你导入apolloFetch,就可以直接用apolloFetch.myFunction()来调用这个函数了。
方式二:导出包含两者的对象
如果你不想修改原apolloFetch对象的结构,可以导出一个新的对象,把两者都包含进去:
const apolloFetch = createApolloFetch(); function myFunction () {}; // 导出包含两个成员的对象 export default { apolloFetch, myFunction };
导入的时候就需要调整写法:
import apolloUtils from '***'; // 调用函数 apolloUtils.myFunction(); // 使用apolloFetch apolloUtils.apolloFetch(...);
内容的提问来源于stack exchange,提问作者Mohamed Taboubi
相关产品推荐
相关产品推荐

