Promise

首先 自我介绍一下 好吧 这并不重要

以下都是个人对Promise的感悟 希望对各位兄弟姐妹有帮助!



说起Promise  先解释下对象


对象

对象嘛 就是new一个对象鸭

其实在座的各位都是一样的 当时我也是这么想的 结局有点离谱

对象分为俩种 函数对象  实例对象(对象)


实力对象

它简称为对象  说白了就是  兄弟听说你没对象 我给你new一个

这就是实例对象  简称为对象


函数对象

把函数当对象来调用  例如  $.get()

$就是一个函数  它通过对象的方式来调用


好了 进入主题了!


Promise

了解Promise可以直观的从三部分开始 (W W H)(what why how)俗称 happy 三连问了

W :What 什么是Promise   

W:Why  为什么要用Promise   

H:How 如何取使用Promise

别担心 继续扩大你的眼睛往下扫


Promise 是什么


抽象表达

是js中进行异步编程的解决方案


具体表达

语法:Promise构造函数

功能:Promise对象用来封装一个异步函数操作获取结果


Promise状态改变

pending 变为 resolved

pending 变为 rejected

一个Promise对象只能改变一次(也就是说只能改变一次状态)

成功的数据(resolved)会接收 value

失败的数据(rejected)会接收 reason


为什么要用Promise

指定回调函数方式更加灵活

旧的:必须再启动异步任务前指定

Promise:一般再异步任务之后  也可以得到结果再取


支持链式 解决回调地狱

回调地狱:回调函数嵌套调用,外部回调函数异步执行结果是嵌套回调函数执行的条件(就是 >)

缺点:非常不利于阅读 读着读着就想着该换电脑了

不利于异常处理


解决方案

Promise链式调用 通过.then来一层一层结构清晰


终极解决方案

async/await

就是再函数前面加async 表达式前面加await 就会直接返回value


区别

Promise主要里面还有函数

async/await 就我们程序员角度看  就只有这俩 没有函数 敢敢当当


如何使用Promise

函数对象方法

all

接收数组 只有都成功的时候才输出成功 返回value

race

接收数组 只要一个成功就输出成功 返回value

resolve

成功 :返回一个Promise实例对象 结果用value接收

reject

失败:返回一个Promise实例对象 结果用 reason接收

实例对象方法

then

接收成功的结果  value

catch

捕获失败的结果 reason


一不留神就写完了


加油!再这个有梦想的年纪,千万不要放弃实现梦想的权力


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。