如何顺序运行位于一个函数中的javascript函数?

时间:2013-12-28 00:04:41

标签: javascript function timing sequential

所以我几乎得到了我想要的方式。我在.animate( some stuff) dealone()个函数中有dealonedealer()dealCards()。但是,所有动画都在同一时间发生,因为函数dealcards()不关心等待一个函数结束然后再转到下一行并运行它。

有没有办法可以让hitorstay()函数中的这5行中的每一行都按顺序运行,而不是一次运行?例如,hand1获得一张牌,手牌经理等待发牌,直到手1收到他的手牌,然后是手牌,然后是手牌,然后是手牌,然后转到function dealCards() { hand1.cards = [dealone()]; handD.cards = [dealonedealer()]; hand1.cards.push(dealone()); handD.cards.push(dealonedealer()); hitOrStay(); } 功能。而不是一次全部运行?

{{1}}

编辑:或者是否有某种方法我可以将每一行放在计时器上?就像hand1.cards = [dealone()];应该花8秒钟,然​​后转到下一行,应该等待8秒,然后是下一行......

2 个答案:

答案 0 :(得分:1)

Javascript以异步方式运行..所以每一行都会立即执行...无论最后一次执行是否完成......都没有阻止。

你可以像在AngularJS中使用的那样使用promise-defer。

答案 1 :(得分:0)

因为你提到.animate()我会建议使用动画的完整/完成选项(Finish one animation then start the other one) 事实证明,已经存在可能对您有用的线程Finish one animation then start the other one,尽管您似乎必须重构代码。

无论如何我觉得重构你的代码会更好,因为动画异常总是好的,因为我不希望在一个元素动画时阻止我的页面res:D