JS新手,在尝试做一个自定义JS库,实现的效果如下:var a = myComponent.init(newJsonConfig).func1();但是实际上发现,init() 配置还没有执行完,func1()就执行完成了,init()是这个自定义库的基础,内有ajax、远程认证等,init()以外所有的方法都依赖init()内获取到的远程配置。注:我都有return this.我尝试分开,像下面这样分开,问题也还是一样:var a = myComponent.init(newJsonConfig);
a.func1();问题:1.像我上面这样的需求,设计思想是不是有问题?所有的方法都依赖 init() 执行完成才行,这样不适合链式操作,2.如何像标题说的那样,让init()执行完后再执行func1() ?
1 回答
慕田峪9158850
TA贡献1794条经验 获得超7个赞
都很相似吧,jquery,angular等,既然是一个库,那么你这个库的初始化应该放在库.js中初始化吧,就像angular,引入之后直接只把angular这个对象暴露出来,你这个暴露的是对象a
init放在库中初始化
<script src="lib/angular/angular.js"></script>
<script src="index.js"></script>
而a.func1();应该放在index.js中调用,先引入库,再使用库
添加回答
举报
0/150
提交
取消