Promise例子

  let p = new Promise((resolve,reject)=>{
	setTimeout(()=>{
		let n=rand(1,100);
		if(n<=30){
			resolve(n);//将Promise设为 成功
		}else{
			reject(n);//将Promise设为 失败
		}
	},1000);
  });
  
  p.then(succ=>{
	alert(succ);
  },err=>{
	alert(err);
  });
  
  //---------------
  
  let p = new Promise((resolve,reject)=>{
	fs.readFile('./dd/1.txt',(err,data)=>{//node.js读文件
		if(err){reject(err);}//异常
		resolve(data);
	})
  });
  p.then(succ=>{
	alert(succ);
  },err=>{
	alert(err);
  });
  
  //---------------
   
  
new Promise(resolve => { 
	if(confirm("确定要清空数据吗?"))
	{
		resolve('hello')
	}else{
		reject('2');
	}
}).then(val => {
	alert(val);
	console.log(val) //  参数val = 'hello'

},val2 => { alert(val2);
	console.log(val2) // 参数val = 'world'
})

//ajax请求
const p= new Promise((resolve, reject) =>{
	//1.创建对象
	const xhr = new XMLHttpRequest();
	//2.初始化
	xhr.open('GET','https://api.apiopen.top/getJoke');
	//3.发送
	xhr.send();
	//4.处理响应结果
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4){
			//判断响应状态码2xx
			if(xhr.status >= 200&& xhr.status < 300){
				//控制台输出响应体
				resolve(xhr.response);
			}else{
				//控制台输出响应状态码
				reject(xhr.status);
			}
		}
	}
});

p.then(value=>{
	console.1og(value);
},reason=>{
	console.warn(reason);
});

posted on 2022-07-01 15:07  anjun_xf  阅读(51)  评论(0编辑  收藏  举报

导航

TOP