Published onOctober 27, 2025PromiseJavaScriptPromise什么是 Promise ? Promise 是 es6 提出的处理异步任务的"承诺容器"。它只有三个状态 pending,fulfilled,rejected,状态一旦从 pending 变成后面两个,就不会再发生变化了,支持链式调用,通过.then() 方法,可以将异步任务的结果参数传递下去,实现了更好的异步任务执行控制和错误处理。 为什么要有 Promise?解决了什么问题? 在 Promis...
Published onOctober 21, 2025事件循环PromisesetTimeoutEvent-loop事件循环是浏览器协调任务执行的机制,因为浏览器是单线程的,为了避免耗时任务卡住主线程,所以它把任务分成了 4 类 1. 同步任务:需要立即执行的任务,会阻塞后续代码,直到其完成,可能会阻塞主线程,比如 console.log() 2. 异步任务:不需要立即执行的任务,执行完成后需要通知主线程的,异步任务又分为宏任务和微任务。 3. 宏任务:优先级更低的异步任务,不会阻塞主线程。包括整体 脚本的加...
Published onOctober 21, 2025异步编程Promiseasync/await在 JavaScript 中,存在一些异步操作,需要等浏览器执行完成之后,再告诉主线程,我们再去做后续的操作 之前为了实现这一点,我们会用回调函数的方式,拿到异步的执行结果,并做后续处理 但如果我们在某一个回调函数中,又依赖其他回调函数带过来的参数,就会存在回调地狱(混乱的嵌套),且难以维护和控制状态,由此 es6 引入了 Promise 的概念。一个 Promise 本身只有三种状态,pendi...