Promise
文章平均质量分 91
Y shǔ shǔ
程序员一枚 热爱敲代码
展开
-
Promise异步(三)手写实现Promise
实现手写Promise我们使用类的方式进行构建,首先声明三种状态,也就是我们Promise通常的三个值,然后需要一个构造函数,并传递一个执行函数作为参数 ,并且默认是准备状态,还有promise的返回值,接着继续定义我们的成功和拒绝的方法,但是这里注意的是,在严格模式下,这两个方法里的this并不是我们的对象,而是window,所以我们需要绑定当前的this<script>class MyPromise{ // 定义等待状态 static PENDING = 'pending'原创 2021-03-28 15:57:54 · 240 阅读 · 0 评论 -
Promise异步(二)Promise的使用以及async/await
现在我们正式开始了解并使用Promise首先我们先打印一个Promise看看<script> console.log(new Promise((resolve, reject) => {}))</script>这时候我们会看到一个padding状态,padding呢就可以理解成一个准备阶段,当这个准备阶段完成后,就是两种结果,成功或者失败 也就是上述 代码中的resolve和reject 当我们使用resolve通知成功的时候,状态就会发生改变<原创 2021-03-26 23:34:23 · 540 阅读 · 0 评论 -
Promise异步(一)JS执行机制以及宏任务、微任务
Promise异步Js执行机制javaScript语言的一大特性就是单线程,也就是说,同一时间只能做一件事。单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务,这样导致的问题就是:如果js执行的时间过长,这样就会造成页面的渲染不连贯,导致页面渲染加载阻塞的感觉。下面来看例子:<script> console.log(1) setTimeout(function(){ console.log(3) },2000) console.log(2)<原创 2021-03-26 00:02:57 · 662 阅读 · 1 评论