ES学习笔记(16)--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
            }
        )

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

错误

state = 3

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

相关推荐