06 2022 档案

摘要:关于 this 总结 关于 this 的总结: 沿着作用域向上找最近的一个 function(不是箭头函数),看这个 function 最终是怎样执行的; this 的指向取决于所属 function 的调用方式,而不是定义; function 调用一般分为以下几种情况: 作为函数调用,即:foo( 阅读全文
posted @ 2022-06-30 13:55 小小紫苏 阅读(15) 评论(0) 推荐(0) 编辑
摘要:手写 Promise 源码之 catch 方法实现 场景 const MyPromise = require('./myPromise') function p1() { return new MyPromise((resolve, reject) => { setTimeout(() => { r 阅读全文
posted @ 2022-06-27 15:51 小小紫苏 阅读(93) 评论(0) 推荐(0) 编辑
摘要:手写 Promise 源码之 Promise.finally 方法的实现 场景 const MyPromise = require('./myPromise') function p1() { return new MyPromise((resolve, reject) => { setTimeou 阅读全文
posted @ 2022-06-27 14:03 小小紫苏 阅读(453) 评论(0) 推荐(0) 编辑
摘要:手写 Promise 源码之 Promise.resolve 方法的实现 场景 const MyPromise = require('./myPromise') function p1() { return new MyPromise((resolve, reject) => { setTimeou 阅读全文
posted @ 2022-06-27 11:32 小小紫苏 阅读(143) 评论(0) 推荐(0) 编辑
摘要:手写 Promise 源码之 Promise.all 方法的实现 需求 const MyPromise = require('./myPromise') function p1() { return new MyPromise((resolve, reject) => { setTimeout(() 阅读全文
posted @ 2022-06-27 10:47 小小紫苏 阅读(234) 评论(0) 推荐(0) 编辑
摘要:手写 Promise 源码之将 then 方法的参数变成可选参数 需求分析 const promise = new Promise((resolve, reject) => { resolve('成功') }) promise .then() // .then(value => value) .th 阅读全文
posted @ 2022-06-27 10:21 小小紫苏 阅读(41) 评论(0) 推荐(0) 编辑
摘要:手写 Promise 源码之捕获错误及 then 链式调用其他状态代码补充 代码实现 关键代码 constructor(exectuor) { // 捕获执行器中的错误 try { exectuor(this.resolve, this.reject) } catch (e) { this.reje 阅读全文
posted @ 2022-06-26 19:12 小小紫苏 阅读(45) 评论(0) 推荐(0) 编辑
摘要:手写 Promise 源码之禁止循环调用 场景 演示错误的 promise 循环调用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content=" 阅读全文
posted @ 2022-06-26 18:00 小小紫苏 阅读(60) 评论(0) 推荐(0) 编辑
摘要:手写 Promise 源码之实现 then 方法的链式调用(二) 场景 在链式调用 then 方法中,可以返回普通值,也可以返回 promise 对象 const MyPromise = require('./myPromise') let promise = new MyPromise((reso 阅读全文
posted @ 2022-06-26 17:31 小小紫苏 阅读(191) 评论(0) 推荐(0) 编辑
摘要:手写 Promise 源码之实现 then 方法的链式调用(一) 场景 const MyPromise = require('./myPromise') let promise = new MyPromise((resolve, reject) => { // setTimeout(() => { 阅读全文
posted @ 2022-06-26 16:58 小小紫苏 阅读(82) 评论(0) 推荐(0) 编辑
摘要:手写 Promise 源码之实现多次调用添加多个处理函数 场景 const MyPromise = require('./myPromise') let promise = new MyPromise((resolve, reject) => { setTimeout(() => { resolve 阅读全文
posted @ 2022-06-26 16:38 小小紫苏 阅读(46) 评论(0) 推荐(0) 编辑
摘要:手写 Promise 源码之在 Promise 类中加入异步逻辑 测试代码 在执行器中加入异步代码,由于异步代码要在主线程的代码完毕后才会执行,所以第18号代码 then() 会马上执行,此时在 promise 的状态为 pending,那么需要在 then 方法中增加对等待状态相关的处理代码。 c 阅读全文
posted @ 2022-06-26 16:30 小小紫苏 阅读(26) 评论(0) 推荐(0) 编辑
摘要:手写 Promise 源码之核心逻辑实现 需求分析 Promise 就是一个类,在执行这个类的时候,需要传递一个执行器进去,执行器会立即执行 Promise 中有三种状态,分别为:成功 fullilled 失败 rejected 等待 pending pengding → fulfilled pen 阅读全文
posted @ 2022-06-26 15:44 小小紫苏 阅读(30) 评论(0) 推荐(0) 编辑
摘要:函数式编程之函数组合和 Functor(函子) 函数组合 纯函数和柯里化很容易写出洋葱代码h(g(f(x))) 获取数组的最后一个元素再转换成大写字母,_.toUpper(_.first(_.reverse(array))) 函数组合可以让我们把细粒度的函数重新组合生成一个新的函数 管道 下面这张图 阅读全文
posted @ 2022-06-23 18:44 小小紫苏 阅读(132) 评论(0) 推荐(0) 编辑
摘要:函数式编程之纯函数和柯里化 为什么要学习函数式编程 函数式编程是非常古老的一个概念,早于第一台计算机的诞生,函数式编程的历史。 那我们为什么现在还要学函数式编程? 函数式编程随着 React 的流行受到越来越多的关注 Vue3 也开始拥抱函数式编程 函数式编程可以抛弃 this 打包过程中可以更好的 阅读全文
posted @ 2022-06-22 18:37 小小紫苏 阅读(80) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示