Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Promise教程之产房里生孩子的故事

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

作者头像
lilugirl
发布于 2020-10-13 15:06:29
发布于 2020-10-13 15:06:29
34400
代码可运行
举报
文章被收录于专栏:前端导学前端导学
运行总次数:0
代码可运行

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//命运之手

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
代码运行次数:0
运行
AI代码解释
复制
//生孩子的过程
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
代码运行次数:0
运行
AI代码解释
复制
// 等待结果的过程

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);
});
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
编辑精选文章
换一批
​Promise面试实战指北
本文旨在使用一个易于理解、易于记忆的方式去吃透promise相关应用侧的技术点,从而应用于简历和面试中。
程序员鱼皮
2021/08/23
1.1K0
一个现实生活中的例子让你理解Promise的使用场景
假设你有一个好朋友的孩子即将在本月出生,具体出生日期不确定,孩子的性别不确定,你每月15号发工资,你希望在你有工资的情况下 ,等孩子出生第一时间知道孩子的性别,给孩子买一个合适的礼物。在这种场景下你需要做两件等待的事情,1 :孩子什么时候出生及孩子的性别 2 :等你发工资。
lilugirl
2020/10/13
7400
async/await实现Promise.all()
Promise.all() 方法接收一个 promise 的 iterable 类型(注:Array,Map,Set 都属于 ES6 的 iterable 类型)的输入,并且只返回一个Promise实例,并且输入的所有 promise 的 resolve 回调的结果是一个数组。
不叫猫先生
2023/11/23
1.7K0
20分钟带你掌握JavaScript Promise和 Async/Await
一般在开发中,查询网络API操作时往往是比较耗时的,这意味着可能需要一段时间的等待才能获得响应。因此,为了避免程序在请求时无响应的情况,异步编程就成为了开发人员的一项基本技能。
葡萄城控件
2020/12/14
7620
JavaScript Promise入门与进阶
Promise 是在 ES6 中出现的语法,主要用于处理 JavaScript 中的异步执行流程,使其能够像同步代码一样处理。在深入了解 Promise 之前,我们先来了解一下什么是异步。
写bug的高哈哈
2025/01/21
1640
JavaScript Promise入门与进阶
promise 和 async 的用法
promise // 先构造一个 promise 函数 // resolve 和 reject 都是一个函数 // resolve 在成功时调用 // reject 在失败时调用 function promise() { return new Promise((resolve, reject) => { let tar = Math.random(0, 1) if (tar > 0.5) { console.log('suceess') setTimeout(fu
超超不会飞
2020/09/18
5180
Promise 详解
执行then/catch/finally返回的结果是一个全新的Promise实例,所以可以链式写下去,下一个then中哪个方式会被执行,由上一个then中某个方法的执行结果来决定
HelloWorldZ
2024/03/20
1180
Promise 详解
初识promise
new Promise( function(resolve, reject) { } );
wade
2020/04/24
4370
初识Promise
那Promise在js中到底是个什么东西呢?看以下代码,可在浏览器中将其打印出来,如图:
挥刀北上
2019/08/06
5740
初识Promise
Promise-all方法
本文的内容可以用于再次简化上一篇 promise 练习当中的代码,还是用一个需求来引出本文的知识点吧:
程序员NEO
2023/09/28
1760
Promise 这个新 API 真香!
不过呢,就算有 Promise,有时候处理一些既可能是同步又可能是异步的函数,或者那种随时可能在启动时就给你扔个同步错误的函数,还是有点小别扭。
Immerse
2025/04/28
1170
写给 Java 程序员的前端 Promise 教程
假设我现在有这样一个需求,用户先去登录,登录成功之后,再去服务端获取用户信息,获取到用户信息之后再去服务端获取前端的动态菜单。一般我们的 Ajax 请求都是异步形式,为了确保上一步操作成功再执行下一个请求,所以最终发出的请求伪代码类似下面这样:
PHP开发工程师
2022/08/08
3890
nodejs(三)
必须在 package.json 的根节点中添加 "type": "module" 节点
且陶陶
2023/04/12
4630
nodejs(三)
解读Promise原理,手动实现一个Promise~
关键语句: Promise 是一个在将来某个时刻产生一个单一结果的对象. 通俗一点来说, Promise 代表了一个值, 但是这个值我们并不确定什么时候会被返回.
苏南
2020/12/16
9030
解读Promise原理,手动实现一个Promise~
前端学习笔记 – promise是什么?能解决什么问题?
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133644.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/27
5180
ES6新增语法(五)——Promise详解
promise是一个对象,从它可以获取异步操作的消息。有all、race、reject、resolve这几个方法,原型上有then、catch等方法。
呆呆
2021/09/29
4620
Promise 这个新 API 真香!
不过呢,就算有 Promise,有时候处理一些既可能是同步又可能是异步的函数,或者那种随时可能在启动时就给你扔个同步错误的函数,还是有点小别扭。
Immerse
2025/04/26
970
Promise 这个新 API 真香!
【译】怎么写一个JavaScript Promise
JavaScript promise是一个对象,表示异步任务完成或者失败及其结果值。
Jimmy_is_jimmy
2019/07/31
8080
什么是Promise
Promise 实例拥有 then ⽅法(具有 then ⽅法的对象,通常被称为 thenable )。 它的使⽤⽅法如下:
子夜星辰
2022/11/14
2170
Promise对象
JavaScript是单线程的语言,通过维护执行栈与任务队列而实现了异步操作,setTimeout与Ajax就是典型的异步操作,Promise就是异步操作的一个解决方案,用于表示一个异步操作的最终完成或失败, 及其结果值,Promise有各种开源实现,在ES6中被统一规范,由浏览器直接支持。
WindRunnerMax
2020/08/27
6300
相关推荐
​Promise面试实战指北
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验