ES学习笔记(16)--promise对象的使用(许诺)

本文通过一个日常生活中的例子,展示了如何使用Promise模式来替代传统的多层嵌套回调,从而简化代码结构,提高代码的可读性和可维护性。

promise

在多层嵌套回调时,写完的代码层次过多,很难进行维护和二次开发

  1. 洗菜做饭。
  2. 坐下来吃饭。
  3. 收拾桌子洗碗。

正确

        let state = 1;

        function step1(resolve, reject) {
            console.log("1.洗菜做饭");
            if (state == 1) {
                resolve("洗菜做饭完成")
            } else {
                reject("洗菜做饭--出错")
            }
        }

        function step2(resolve, reject) {
            console.log("2.坐下来吃饭");
            // state = 3;
            if (state == 1) {
                resolve("坐下来吃饭完成")
            } else {
                reject("坐下来吃饭--出错")
            }
        }

        function step3(resolve, reject) {
            console.log("3.收拾桌子洗碗");
            if (state == 1) {
                resolve("收拾桌子洗碗完成")
            } else {
                reject("收拾桌子洗碗--出错")
            }
        }
                new Promise(step1).then(
            function (val) {
                console.log(val);
                return new Promise(step2)
            }
        ).then(function (val) {
            console.log(val);
            return new Promise(step3)
        }).then(
            function (val) {
                console.log(val);
                return val
            }
        )

clipboard.png

错误

state = 3

clipboard.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值