所以我几乎得到了我想要的方式。我在.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秒,然后是下一行......
答案 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