张三学前端-Promise篇

张三学前端-Promise篇

1.前情提要

​ 张三是一名刚毕业的前端小白,在经历了数百次面试无果后,张三已经身无分文,内心已经万念俱灰,准备明天再面一家,不行就回老家种地了,所以,张三对明天的面试十分重视,因为这将成为它人生的转折点。

​ 第二天,张三如约到xx公司去面试,身经百战的张三,已经没有了刚毕业时的胆怯,更多了一丝成熟,当面试的问答部分顺利结束后,张三答的虽然说不上流畅,也算的上五五开了,就这样,面试官问张三:“你认为,你来到公司,能给公司创造多大的价值呢,就是你的工作效率会怎样呢?”。张三心想:这可是我最后一次机会了,我就是累死,我也得把握住。张三就说:“我承诺,我来到公司一定要好好工作,一个月内,我要做100个页面,如果我做完了,你给我发4000工资,如果我做不完,我倒给你4000工资”。哈哈,资本家听了都落泪,就这样,张三顺顺利利的入职xx公司。

2.new Promise

我来到公司一定要好好工作,一个月内,我要做100个页面,如果我做完了,你给我发4000工资,如果我做不完,我倒给你4000工资

这是张三履行的一个承诺我们可以用代码来实现以下:

  •         let 张三的承诺 = new Promise((成功, 失败) => {
                如果(一个月内做了100个页面){
                    公司给张三4000块钱
                    
                }否则{
                    张三给公司4000块钱
                }
            })
    
  • 接下来用代码转化一下

  •        
                let p=new Promise((resolve,reject)=>{
                let zsfinished=99;//张三一个月内完成的页面
                let zsbase=0;//张三的资产
                if(zsfinished>=100){
                    zsbase+=4000;//张三的资产=4000
                    resolve(+4000);//张三顺利完成任务,给张三发4000块钱
                }else{
                    zsbase-=4000;//张三的资产=-4000
                    reject("没有完成承诺,扣钱");//扣钱的原因:没有完成任务
                }
    
            })
    

​ 一个月期限到了,张三这一个月内共做了99张页面,在一个月后第一天内的凌晨三点,张三终于完成了第一百张页面,张三心存余悸的交给了老板,老板却说:“一个月期限已经到了,你在一个月内没有完成100张页面,所以你的承诺是失败的,所以扣钱”。

  • 知识点1:承诺的状态一旦发生改变,即使再执行resolve()还是rejecte()方法,状态不会再改变了,因为你的承诺已经是过去式了,一个承诺的状态只能改变一次。

-------------------------------------------------------------2021-11-17未完-----------------------------------------------------------------

人人笑张三,人人不如张三。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值