周杰伦最火的歌promi的源码解析promi⽅法源码编写
⼿写源码
⼀、⾸先实现⼀个简单的promi
promi的原理
如何跳绳1. Promi 是⼀个类,在执⾏这个类的时候,需要传递⼀个执⾏器进去,执⾏器会⽴即执⾏
2. Promi 中有三种状态,分别为成功 fulfilled 失败 rejected 等待 pending合并硬盘
pending -> fulfilled
pending -> rejected
葛花的作用与功效⼀旦状态改变就不可更改
3. resolve和reject 函数式⽤来更改状态的
resolve: fulfilled
reject: rejected
4. then ⽅法内部做的事情就是判断状态 如果状态是成功 调⽤成功的回调函数,如果状态是失败,调⽤失败的回调函数
如何准备面试
5. then成功回调有⼀个参数 表⽰成功之后的值 then失败回调有⼀个参数 表⽰失败后的原因
警察的级别实现代码
国歌多长时间// 定义状态const PENDING = 'pending' //等待const FULFILLED = 'fulfilled' //成功const REJECT = 'reject' //失败class MyPromi { constructor (executor ){ executor (this .resolve , this .reject ) } // promi 状态初始化 status = PENDING // 成功之后的值 value = undefined // 失败返回值 reason = undefined resolve = (value ) =>{ // 判断状态为等待才可更改 if (this .status !== PENDING ) return // 将状态更改为成功 this .status = FULFILLED // 保存成功之后的值 this .value = value } reject = (reason ) =>{ // 判断状态为等待才可更改 if (this .status !== PENDING ) return // 将状态更改为失败 this .status = REJECT // 失败原因1234567891011121314151617181920212223242526272829
安锁子