为什么 Promise 总是比 setTimeout 快执行呢?🤔
- 内容介绍
- 文章标签
- 相关推荐

嘿, 你有没有觉得,JavaScript里的 Promise 总感觉比那些老掉牙的 `setTimeout` 更快?是不是像我一样,每次看到这个疑问都忍不住想“这玩意儿怎么可能?”?别慌,咱们今天就来好好聊聊这个话题。保证让你大开眼界,看完之后再也不觉得 Promise 是个慢吞吞的家伙了,我惊呆了。!
时间旅行:理解异步编程的本质
内卷。 先说说咱们得搞清楚什么是异步。想象一下你在餐厅点菜:你不会站在厨房门口盯着厨师做饭吧?不是的!你先点菜,然后去等位区坐着,等菜做好服务员再端给你。这就是异步!程序不需要等待某个操作完成才继续施行后面的代码。
JavaScript 本身是单线程的。这意味着它一次只能做一件事情。但是为了让程序看起来不卡顿,JavaScript 就引入了异步编程的概念。而 `setTimeout` 和 `Promise` 就是两种实现异步的方式,佛系。。
setTimeout:承诺...啊不 只是一个定时器
`setTimeout` 的工作方式很简单:你给它一个函数和一个延迟时间,它就把它放到任务队列里排队等待施行。把这个函数从任务队列里拿出来施行,放心去做...。
但是!`setTimeout` 的实际施行时间并不固定。它取决于很多因素,比如浏览器的工作负载、系统的负载等等。所以有时候你会发现 `setTimeout` 施行的时间比你预期的要长,离了大谱。。
Promise:一个更优雅的承诺
现在让我们看看 `Promise` 。 `Promise` 可以看作是一个代表某个操作到头来完成的值的对象。它可以有三种状态:pending , fulfilled , rejected 。
`Promise` 的优势在于它提供了更优雅的方式来处理异步操作。你可以使用 `.n` 方法来处理成功情况,使用 `.catch` 方法来处理失败情况,你我共勉。。

嘿, 你有没有觉得,JavaScript里的 Promise 总感觉比那些老掉牙的 `setTimeout` 更快?是不是像我一样,每次看到这个疑问都忍不住想“这玩意儿怎么可能?”?别慌,咱们今天就来好好聊聊这个话题。保证让你大开眼界,看完之后再也不觉得 Promise 是个慢吞吞的家伙了,我惊呆了。!
时间旅行:理解异步编程的本质
内卷。 先说说咱们得搞清楚什么是异步。想象一下你在餐厅点菜:你不会站在厨房门口盯着厨师做饭吧?不是的!你先点菜,然后去等位区坐着,等菜做好服务员再端给你。这就是异步!程序不需要等待某个操作完成才继续施行后面的代码。
JavaScript 本身是单线程的。这意味着它一次只能做一件事情。但是为了让程序看起来不卡顿,JavaScript 就引入了异步编程的概念。而 `setTimeout` 和 `Promise` 就是两种实现异步的方式,佛系。。
setTimeout:承诺...啊不 只是一个定时器
`setTimeout` 的工作方式很简单:你给它一个函数和一个延迟时间,它就把它放到任务队列里排队等待施行。把这个函数从任务队列里拿出来施行,放心去做...。
但是!`setTimeout` 的实际施行时间并不固定。它取决于很多因素,比如浏览器的工作负载、系统的负载等等。所以有时候你会发现 `setTimeout` 施行的时间比你预期的要长,离了大谱。。
Promise:一个更优雅的承诺
现在让我们看看 `Promise` 。 `Promise` 可以看作是一个代表某个操作到头来完成的值的对象。它可以有三种状态:pending , fulfilled , rejected 。
`Promise` 的优势在于它提供了更优雅的方式来处理异步操作。你可以使用 `.n` 方法来处理成功情况,使用 `.catch` 方法来处理失败情况,你我共勉。。

