浅析Promise对象用法

在饱尝了利用函数执行栈书写异步代码的痛苦后,人们创造出了Promise对象,

作为在ES6中被统一规范的对象,它用来在函数中将函数逻辑与结果处理分隔开来,

该对象提供了两个参数,resolve以及reject。这两个参数都是函数,下面是使用

Promise对象的简单代码示例:

 1 var fn=function(num){
 2     return new Promise(function(resolve,reject){
 3         if(typeof num=='number'){
 4             resolve();
 5         }else{
 6             reject();
 7         }
 8     });
 9 }
10 
11 fn(2).then(function(){
12     console.log('输入了一个数字!');
13 }).catch(function(){
14     console.log('输入的不是一个数字!');
15 });

上面是一个简单逻辑判断输入函数fn的参数是否为数字的代码,其中函数体fn执行返回一个Promise对象,

如果结果达到预期,执行resolve(),反之执行reject()。在函数执行时,resolve对应then,reject对应catch,

根据这种一一对应关系,我们可以轻易对函数结果进行操作。值得一提是,then函数含有两个参数,第一

个对应resolve,而第二个对应reject。所以实际上catch(()=>{})等价于then(null,()=>{}).

另外,Promise的应用场景非常广泛,比如我们使用的不同AJAX请求中的有依赖的数据传递等。

转载于:https://www.cnblogs.com/yjpfront-end/p/9765981.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值