javascript - 如何一个接一个地执行函数?

标签 javascript jquery

也许我用错了,但我想链接3个函数,第二个函数在第一个函数完成时启动,第三个函数在第二个函数完成时启动。根据docs我应该能够这样做:

$.when( first() ).then( second() ).then(third() );

它们似乎都在同时执行。给出了什么?

My fiddle

我也尝试过:

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/

相关文章:

javascript - jQuery 更改事件未正确触发

javascript - 有没有可能拖延陈飞的过渡?

javascript - 如何让这种玻璃 splinter 效果适用于多个 div?

javascript - 将 JSON 响应转换为 map

javascript - Discord.js 不收集用户的 DM

javascript - 如何按坐标或标题选择标记?

jquery - Jquery 的好通知插件吗?

javascript - 如何在 react 路由器中访问 child ?

javascript - 如何测试需要jquery的ES6类?

javascript - 包装 `console.log` 并保留调用堆栈