博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅析Promise
阅读量:6637 次
发布时间:2019-06-25

本文共 817 字,大约阅读时间需要 2 分钟。

Promise: 含义

0、字面意思是 “承诺”。

1、这个对象可以获取异步操作的消息。

2、Promise的状态不受外界的影响,只和异步返回的结果有关

简言之:Promise表示一个异步操作的最终状态(完成或失败),以及其返回的值。

Promise状态:

pending: 初始状态,既不是成功,也不是失败状态。 fulfilled: 意味着操作成功完成。 rejected: 意味着操作失败。 Promise方法:

  1. Promise.prototype.catch(onRejected) 异步执行失败的回调函数,并且会返回一个新的Promise对象。

  2. Promise.prototype.then(onFulfilled, onRejected)

异步执行成功的回调函数,并且会返回一个新的Promise对象。

  1. Promise.prototype.finally(onFinally)

不管成功或失败都会执行的一个回调函数,并且会返回一个新的Promise对象。

实例demo:

demo1:

复制代码

运行结果:

demo1解析:生成一个随机数,如果小于1则执行成功的回调,大于1则执行失败的回调。

其中 p1.then 时成功的回调,p2.catch时失败的回调。

demo2:(Promise多个任务处理流程)

复制代码

运行结果:

demo2解析:

变量p中存了一个Promise对象,直接执行成功的回调,并传入 123 作为参数, 然后执行回调multiply, multiply 函数返回一个新的 Promise对象,并将传入的参数相乘,直接执行成功的回调(传入相乘以后的结果) 执行 multiply的成功回调 add 函数,add函数 返回一个新的Promise,并将传入的参数相加,直接执行成功的回调(传入相加以后的结果) 以此类推…… 知道最后一个then,执行最后一个Promise成功的回调,并输出到日志。

转载地址:http://gtsvo.baihongyu.com/

你可能感兴趣的文章
Tomcat--startup.bat文件
查看>>
day45-python实例练习
查看>>
三、Redis操作
查看>>
解决jenkins下使用HTML Publisher插件后查看html报告显示不正常
查看>>
使用mvc3实现ajax跨域
查看>>
CentOS安装配置Samba
查看>>
ISCSI测试
查看>>
java算法面试题:从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序 ;读取docx 读取doc 使用poi 相关jar包提集提供下载...
查看>>
回溯法 - 数据结构与算法
查看>>
Unix环境高级编程(五)进程环境
查看>>
【转】C 编译器优化过程中的 Bug
查看>>
AJAX
查看>>
SQL Server安装
查看>>
vue cli3.0快速搭建项目详解(强烈推荐)
查看>>
Linux常见命令总结
查看>>
【Windows编程】系列第二篇:Windows SDK创建基本控件
查看>>
Python瓦匠 —— 正则表达式(六)
查看>>
Linux主要shell命令详解(下)
查看>>
HTML通过button触发input-file控件上传文件的问题
查看>>
介绍我的家乡-信阳(日语)
查看>>