【reject的用法记录】

此博客针对reject两种回调方式进行记录

  1. 在.then中使用两个函数 ,第二个函数则对应reject内容;
  2. 使用.catch

1.在.then中使用两个函数

function promiseClick(){
    
    
		let p = new Promise(function(resolve, reject){
    
    
			setTimeout(function(){
    
    
				var num = Math.ceil(Math.random()*20); //生成1-10的随机数
				console.log('随机数生成的值:',num)
				if(num<=10){
    
    
					resolve(num);
				}
				else{
    
    
					reject('数字太于10了即将执行失败回调');
				}
			}, 2000);
		   })
		   return p
	   }
 
	promiseClick().then(
		function(data){
    
    
			console.log('resolved成功回调');
			console.log('成功回调接受的值:',data);
		}, 
		function(reason){
    
    
			console.log('rejected失败回调');
			console.log('失败执行回调抛出失败原因:',reason);
		}
	);	

2.使用.catch

function promiseClick(){
    
    
		let p = new Promise(function(resolve, reject){
    
    
			setTimeout(function(){
    
    
				var num = Math.ceil(Math.random()*20); //生成1-10的随机数
				console.log('随机数生成的值:',num)
				if(num<=10){
    
    
					resolve(num);
				}
				else{
    
    
					reject('数字太于10了即将执行失败回调');
				}
			}, 2000);
		   })
		   return p
	   }
 
	promiseClick().then(
		function(data){
    
    
			console.log('resolved成功回调');
			console.log('成功回调接受的值:',data);
			console.log(noData);
		}
	)
	.catch(function(reason, data){
    
    
		console.log('catch到rejected失败回调');
		console.log('catch失败执行回调抛出失败原因:',reason);
	});	

这两个都能应对reject,但是在使用.catch方法时,可以接收到.then的异常抛出。
如第二段代码的输出结果为:在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/s_1024/article/details/128284645
今日推荐