文章 2024-06-20 来自:开发者社区

JavaScript进阶-Promise与异步编程

在JavaScript开发中,异步编程是绕不开的一环,而Promise作为解决异步问题的重要工具,自ES6起便成为开发者手中的利器。本文旨在深入浅出地解析Promise的基本概念、常见应用场景、易错点及其规避策略,并辅以代码示例,帮助你更稳健地驾驭异步编程。 Promise基础 什么是Promise? Promise代表一个异步操作的最终完成(或失败)及其结果。它有三种状态:pending...

JavaScript进阶-Promise与异步编程
文章 2023-06-15 来自:开发者社区

web前端面试高频考点——JavaScript 篇(二)【JS 异步进阶】Event Loop、then 和 catch、async/await、宏任务微任务、手撕 Promise 源码

JS 异步进阶什么是 event loop(事件循环/事件轮询)JS 是单线程运行的异步要基于回调来实现event loop 就是异步回调的实现原理JS 如何执行?从前到后,一行一行执行如果某一行执行报错,则停止下面代码的执行先把同步代码执行完,再执行异步event loop 执行过程event loop 过程 ...

web前端面试高频考点——JavaScript 篇(二)【JS 异步进阶】Event Loop、then 和 catch、async/await、宏任务微任务、手撕 Promise 源码
文章 2023-01-08 来自:开发者社区

javaScript 进阶之路 --- 《手写 Promise(后篇)》(二)

五. 解决 Bug那现在这个事情怎么解决呢?没错,数组!我们只需要将原来的 callBackFn 由一个单纯的变量,改造成一个数组。紧接着去改造我们的 then 方法。稍等,我想你有很大概率会按照上面的写法这样去写,其实这样是非常错误的,你这样的逻辑是把 onFulfilled(this.$resu...

javaScript 进阶之路 --- 《手写 Promise(后篇)》(二)
文章 2023-01-08 来自:开发者社区

javaScript 进阶之路 --- 《手写 Promise(后篇)》(一)

手写 Promise(后篇)前言: 最后的章节终于要来了,不知道有没有人真正跟进下去这个进阶系列。最初我的本意只是想直接从 《手撕 Promise》 开始。但是我想了想,这样的话对一些基础知识不是特别牢固的小伙伴不太友好,于是就创建了该专栏尽量从头开始讲给那些真正想从我的博文中学习到那么一丢丢东西的人。一起加油吧,冲鸭...

javaScript 进阶之路 --- 《手写 Promise(后篇)》(一)
文章 2023-01-08 来自:开发者社区

javaScript 进阶之路 --- 《手写 Promise(中篇)》(二)

三. 构思异步存储数据的思路我们现在要明确一点,我们上面的代码 resolve 到底被调用了吗?会不会压根就是 resolve 没被调用才导致现在 then 拿不到数据呢?我们在 resolve 里加一句打印,我们看看到底是不是这个原因。在控制台可以清楚的看到,虽然没有第一时间执行,但是我们的 resolve 是...

javaScript 进阶之路 --- 《手写 Promise(中篇)》(二)
文章 2023-01-08 来自:开发者社区

javaScript 进阶之路 --- 《手写 Promise(中篇)》(一)

手写 Promise(中篇)前言: 阅读前需要拥有我们前面的五个支线任务的通关钥匙🔑 (0/5),JS 代码运行机制加深理解回调函数手写“回调地狱”宏任务和微任务手写 Promise(前篇)请完成你的登神长阶本文紧接着前篇的主线任务,建议没看《前篇》的小伙伴先去看一下《前篇》再回过头看本篇内容。(...

javaScript 进阶之路 --- 《手写 Promise(中篇)》(一)
文章 2023-01-08 来自:开发者社区

javaScript 进阶之路 --- 《手写 Promise(前篇)》(二)

五. MyPromise 的三种状态等等,我们好像忘了一个很关键的东西,Promise 的三种状态!!!还记得吗?Promise 在初始化的时候是有三个状态的,分别是 pending,fulfilled 和 rejected。这三种状态分别影响着 then 函数中我们取到的值。知道这一...

javaScript 进阶之路 --- 《手写 Promise(前篇)》(二)
文章 2023-01-08 来自:开发者社区

javaScript 进阶之路 --- 《手写 Promise(前篇)》(一)

手写 Promise前言: 该来的还是来了,经过完成我们前面的四个支线任务JS 代码运行机制加深理解回调函数手写“回调地狱”宏任务和微任务终于到了我们的主线任务 ---《手写 Promise》。对于前端来讲,当你完全理解 Promise 的设计思路,那么你会对你之前所了解的 JS 世界,有一个全新的认知。不知各位是否有过下面这...

javaScript 进阶之路 --- 《手写 Promise(前篇)》(一)
文章 2022-06-13 来自:开发者社区

JavaScript——Promise进阶

为什么出现Promise在javascript开发过程中,代码是单线程执行的,同步操作,彼此之间不会等待,这可以说是它的优势,但是也有它的弊端,如一些网络操作,浏览器事件,文件等操作等,都必须异步执行,针对这些情况,起初的操作都是使用回调函数实...

JavaScript——Promise进阶
文章 2019-09-05 来自:开发者社区

前端进阶|第四天从setTimeout、Promise看js 的异步机制

要理解这几个函数的执行顺序,需要先明确js的执行机制。Javascript是单线程语言,事件的调度机制是事件循环(event loop) console.log(1); setTimeout(function () { console.log(2) }, 0); console.log(3); 执行结果是1,3,2注意 setTimeout的事件间隔为0,应该立即执行的,但还是在3...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。