理解Promise (2)
function Promise(executor) {let self = this;self.value = null;self.reason = null;//设置默认状态self.status = 'pending'//成功函数 function resolve(value) {if(self.status=='pending') {self.status = 'success';// console.log(self.value);self.value = '运行成功了'}};//失败函数 function reject(reason) {if(self.status == 'pending') {self.status = 'fail';self.reason = '运行失败了'}}//默认立即执行函数 传递两个参数 executor(resolve,reject); } Promise.prototype.then = function(OnResolve,OnReject) {console.log(this.value)if(this.status == 'success') {OnResolve(this.value);}if(this.status =='fail') {OnReject(this.reason);} }; module.exports= Promise; //一进来 我们开始执行 executor函数 传递两个参数 再调用 then 方法 ,then 方法里面有 OnResolve方法,OnReject 方法 // then 方法中,我们一开始的状态是pending 然后根据 状态的不同 调用不同的函数, // 在两个不同的函数中 我们 进行判断 因为状态一开始都是有 pending = > success 或者 pending =>fail // 判断 时修改 状态 和 显示值
运行:
开始运行了 运行成功了 success 运行成功了 运行结束
这里还没有进行异步的处理
转载于:https://www.cnblogs.com/guangzhou11/p/11299452.html
理解Promise (2)相关推荐
- 大白话讲解Promise(二)理解Promise规范
上一篇我们讲解了ES6中Promise的用法,但是知道了用法还远远不够,作为一名专业的前端工程师,还必须通晓原理.所以,为了补全我们关于Promise的知识树,有必要理解Promise/A+规范,理解 ...
- es5如何实现promise_彻底理解Promise对象——用es5语法实现一个自己的Promise(上篇)...
众所周知javascript语言的一大特色就是异步,这既是它的优点,同时在某些情况下也带来了一些的问题.最大的问题之一,就是异步操作过多的时候,代码内会充斥着众多回调函数,乃至形成回调金字塔.为了解决 ...
- 理解Promise的3种姿势
对于Promise,也许你会用了,却并不理解:也许你理解了,却只可意会不可言传.这篇博客将从3个简单的视角理解Promise,应该对你有所帮助. 示例1中,asyncFunc()函数返回的是一个Pro ...
- 通俗浅显的理解promise中的then
通俗浅显的理解promise中的then 先看一下下面4个Promise到底有什么区别呢? 执行第一个方法: 执行第二个方法: 执行第三个方法: 执行第四个方法: 文章原文出处:博主petruslaw ...
- 深入理解Promise并写一个符合Promise a+规范的Promise代码
深入理解Promise并写一个符合Promise a+规范的Promise代码 关于Promise函数可以参考我写的这篇文章https://www.cnblogs.com/qiaohong/p/770 ...
- ES6——举个例子理解Promise的原理和使用
1. Promise 之前 1.1 回调函数 回调函数:把函数A当作参数传递给另一个函数B调用,那么A就是回调函数. 一些例子 具名回调 function 你有几只狗(fn){fn('一只狗') } ...
- 理解promise、async 和await之间的执行关系
先看下面的例子 console.log('script start'); async function async1(){console.log('async1 start');await async ...
- 一篇文章理解Promise原理
前提掌握知识: 微任务包括: MutationObserver.Promise.then()或reject().Promise为基础开发的其它技术,比如fetch API.V8的垃圾回收过程.Node ...
- 理解promise、promise.all、promise.race
文章目录 promise promise.all promise.race 注意 总结 promise Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息. Promise 对象有以 ...
- 理解Promise (4)
then 方法必须 返回一个新的promise promise2 = promise1.then(onFulfilled, onRejected); 新的Promise 必须返回传递两个方法 onF ...
最新文章
- 面部识别辅助监控系统 人工智能为城市安全保驾护航
- 打包android阴影不见,Android无pading超简单超实用阴影解决方案
- 微软推出 VS Code 新特性,为 TypeScript 和 JavaScript 用户提供 AI 辅助开发功能
- linux上传挂载镜像文件,linux系统中挂载img镜像文件
- [概率论]如何通俗地理解“最大似然估计法”?
- EverWeb for Mac(网页设计软件)v3.5.1中文版
- HP服务器固件升级(ILO及bios升级:实操版)
- ADC芯片CS1242用在电子秤单片机上面
- winzip15.0注册码
- python 修改ip地址
- WebRTC的拥塞控制和带宽策略
- 毕生精力总结的电脑技巧
- CSDN是什么???
- VisualC++逆序存放
- HarmonyOS阶段测试(HarmonyOS应用程序框架揭秘)(4 )
- 工业互联网的前世今生 | 初探工业互联网
- 牛奶可乐经济学之Q13:为什么“几乎”全新的二手车,售价比全新的车低得多?
- Grafana面板(panel):数据处理(Transformation)---一个奇怪的功能!
- java 傅里叶变换 频谱_傅里叶变换分析频谱(FFT)
- Oracle之字符串去重统计
热门文章
- 曾经案例中问题 与 工厂模式解耦
- do……while 循环
- Matlab处理JSON数据
- MyBatis分页插件PageHelper使用练习
- leetcode C++ 39. 组合总和 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 c
- 使用 MWC V2.5 中的 MPU6050中的DMP进行计算姿态(转载)
- C#串口上位机软件--IOT串口调试精灵
- 用DMA方式从串行USART口连续接收数据,怎样确认收到一个完整的包讨论
- CTFshow php特性 web111
- matlab绘图 subplot函数使用方法