promise的用法
来源:互联网 发布:石家庄手机数据恢复 编辑:程序博客网 时间:2024/05/18 02:19
因为带有promise对象本身是一个构造函数,可以创建 带有状态的promise实例;
eg: let promise=new Promise(function(resolve,reject){
异步操作;
if(success){resolve(value)}
else{reject(error)}
})
其中:resolve和reject是封装好的函数,可直接调用;
promise对象有三种状态:pending(进行中),resolved(成功),rejected(失败);
resolve方法:将 promise状态从pending转为resolved ;并将异步操作的返回值以参数的形式输出到then中对应的callback;
reject方法:将promise状态从pending转为rejected,并将error从而执行then中对应的callback;
一)promise.prototype.then(callback1,callback2):根据promise的状态从而执行then中对应的回调;该方法返回一个promise实例;
resolved--->callback1=function(value){....}
rejected---->callback2=function(error{......}
ps:promise 链式调用;
注意两点:
第一点:若then中回调的是非promise实例,则then方法返回的promise实例状态继承了上一个promise实例,且回调的返回值作为下一个then中对应状态回调的参数传入;
第二点:若then中回调返回的是promise实例,则then方法返回的实例由回调中返回的promise实例所代替;
二)promise.prototype.catch:
当调用了reject方法后或throw出一个异常时,都会领导promise状态变为rejected,且当promise状态为rejected是,可以调用catch方法捕捉,且返回一个状态为rejected的promise实例;
注意:当catch 抛出异常时,该方法返回的promise实例状态变为rejected
三)Promise.all:
将一系列的promise归成一个新的promise之中,只对新的promise处理即可;
语法:p=Promise.all([p1,p2,p3,....]);
注:不一定是数组形式,但成员一定是promise对象;
原则:
若p1,p2,p3都为resolved,则p为resolved,p1,p2,p3的返回值以数组的形式传入 callback中;
若p1,p2,p3其中一个rejected,则p为rejected,第一个为rejected的promise对象的返回值输出到对应的callback中
四)Promise.race:
语法:let p=Promise.race([p1,p2,p3]);
参数可以为数组,也可以为promise对象的遍历器;
注意:p的状态是由p1,p2,p3率先返回的状态的一个promise对象所决定的,并该promise对象的返回值作为p的返回值输送到对象的callback中;
ps:p1,p2,p3为竞争关系;
- promise的用法
- promise的用法
- promise的基本用法
- promise的用法
- promise对象的简单用法
- 异步调用 promise 的用法
- promise架构和node.js的promise用法
- Promise对象的含义和基本用法
- Promise对象的含义和基本用法
- Promise对象的含义和基本用法
- Promise对象的含义和基本用法
- JavaScript中promise的基本用法
- promise用法详解(写的很好)
- async 和await的结合promise用法
- Promise对象的含义和基本用法
- Promise对象的含义和基本用法
- Promise对象的含义和基本用法
- 前端神器Promise的用法介绍
- Activity的4种启动模式
- 输入框延时调接口(防止不停调用)
- js怎么让浏览器自动全屏显示
- viewpager布局复用中FragmentPagerAdapter的坑,源码分析,控件id的一些思考
- AtomicInteger源码分析
- promise的用法
- 使用Git上传项目代码到github
- 大数据分布式集群搭建(7)
- 浅谈标准I/O缓冲区
- css居中补充
- builder设计模式学习笔记
- ios 简单的本地json格式文件解析
- sqlserver表结构(含约束)复制存储过程
- 算法导论5.3-7集合的随机样本