也许我用错了,但我想链接3个函数,第二个函数在第一个函数完成时启动,第三个函数在第二个函数完成时启动。根据docs我应该能够这样做:
$.when( first() ).then( second() ).then(third() );
它们似乎都在同时执行。给出了什么?
我也尝试过:
first().then( second() ).then(third() );
这将在第一个 div 中淡出,但在第二个和第三个 div 中不会淡出;
最佳答案
您正在强制立即执行这些函数。 (顺便说一句,它们不是同时执行,而是一个接一个地快速执行,因为 JavaScript 是单线程的。)
您需要编写$.when(first).then(second).then(third)
(其中first是一个promise),并让库执行它们。不要自己执行它们(这就是括号所做的)。
编辑:哦,没看到 fiddle 。是的,肖恩约翰逊说的。
关于javascript - 如何一个接一个地执行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15606207/