Promise教程之产房里生孩子的故事

2020-10-13 23:06:29 浏览数 (1)

产房里有4个妈妈,预产期都是今天,几点生不知道,生男孩还是女孩也不知道,一切交给命运的安排。

我们用随机数来模拟命运,如果随机数大于等于0.5就代表男孩,小于0.5代表女孩; 我们用随机数模拟生孩子的时间,随机数代表距离现在多少个小时生; 我们用随机数代表顺产还是难产,如果随机数小于0.5就代表难产,大于等于0.5代表顺产

代码语言:javascript复制
//命运之手

function sex(){
    let sex=Math.round(Math.random())===1?'男':'女';
    return sex;
}

function when(){
    let time=Math.random()*1000;
    return time;
}

function shunchan(){
    return Math.round(Math.random());
}
代码语言:javascript复制
//生孩子的过程
const mama1=new Promise((resolve,reject)=>{
    setTimeout(() => {
        if(shunchan()){
            resolve(sex())
        }else{
            reject('妈妈1难产');
        }
       
    }, when());
});

const mama2=new Promise((resolve,reject)=>{
    setTimeout(() => {
        if(shunchan()){
            resolve(sex())
        }else{
            reject('妈妈2难产');
        }
    }, when());
});

const mama3=new Promise((resolve,reject)=>{
    setTimeout(() => {
        if(shunchan()){
            resolve(sex())
        }else{
            reject('妈妈3难产');
        }
    }, when());
});

const mama4=new Promise((resolve,reject)=>{
    setTimeout(() => {
        if(shunchan()){
            resolve(sex())
        }else{
            reject('妈妈4难产');
        }
    }, when());
});
代码语言:javascript复制
// 等待结果的过程

mama1.then((res)=>{
    console.log('妈妈1的宝宝是',res);
   
},(err)=>{
    console.log(err);
});

mama2.then((res)=>{
    console.log('妈妈2的宝宝是',res);
   
},(err)=>{
    console.log(err);
});

mama3.then((res)=>{
    console.log('妈妈3的宝宝是',res);
   
},(err)=>{
    console.log(err);
});

mama4.then((res)=>{
    console.log('妈妈4的宝宝是',res);
   
},(err)=>{
    console.log(err);
});

0 人点赞