Promise 是一个对象,从它可以获取异步操作的消息。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>promise</title>
</head>
<body>
<script type="text/javascript">
//promise 承诺
//我布置了作业 学生答应会交=》promise 兑现需要时间
//上交 兑现承诺 resolve 看到作业
//未交 没有兑现承诺 reject 问为什么
//3s一段时间之后给我一个大于0.5的随机数
function delay(success,fail){
setTimeout(()=>{
let randomNumber=Math.random();
if(randomNumber>0.5){
success(randomNumber);
}else{
fail(randomNumber);
}
},3000);
}
delay(res=>console.log("success!",res),err=>console.log("fail",err));
//promise
function delay1(){
return new Promise((resolve,reject)=>{
setTimeout(()=>{
let randomNumber=Math.random();
if(randomNumber>0.5){
resolve(randomNumber);
}else{
reject(randomNumber);
}
},3000);
});
}
delay1()
.then(res=>console.log("success!",res))//成功
.catch(err=>console.log("fail",err))//失败
</script>
</body>
</html>