神刀安全网

大白话讲解Promise(一)

到这里,你应该对“Promise是什么玩意”有了最基本的了解。那么我们接着来看看ES6的Promise还有哪些功能。我们光用了resolve,还没用reject呢,它是做什么的呢?事实上,我们前面的例子都是只有“执行成功”的回调,还没有“失败”的情况,reject的作用就是把Promise的状态置为rejected,这样我们在then中就能捕捉到,然后执行“失败”情况的回调。看下面的代码。

JavaScript

function getNumber(){     var p = new Promise(function(resolve, reject){         //做一些异步操作         setTimeout(function(){             var num = Math.ceil(Math.random()*10); //生成1-10的随机数             if(num<=5){                 resolve(num);             }             else{                 reject('数字太大了');             }         }, 2000);     });     return p;             }  getNumber() .then(     function(data){         console.log('resolved');         console.log(data);     },      function(reason, data){         console.log('rejected');         console.log(reason);     } );
function getNumber(){     var p = new Promise(function(resolve, reject){         //做一些异步操作         setTimeout(function(){             var num = Math.ceil(Math.random()*10); //生成1-10的随机数             if(num<=5){                 resolve(num);             }             else{                 reject('数字太大了');             }         }, 2000);     });     return p;             }   getNumber() .then(     function(data){         console.log('resolved');         console.log(data);     },      function(reason, data){         console.log('rejected');         console.log(reason);     } ); 

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 大白话讲解Promise(一)

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
分享按钮