JS 链式操作怎么按照调用顺序执行?

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() ?


www说
浏览 973回答 1
1回答

慕田峪9158850

都很相似吧,jquery,angular等,既然是一个库,那么你这个库的初始化应该放在库.js中初始化吧,就像angular,引入之后直接只把angular这个对象暴露出来,你这个暴露的是对象ainit放在库中初始化<script src="lib/angular/angular.js"></script><script src="index.js"></script>而a.func1();应该放在index.js中调用,先引入库,再使用库
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript