promise

为了实现某些逻辑经常会写出层层嵌套的回调函数,如果嵌套过多,会极大影响代码可读性和逻辑,这种情况也被成为回调地狱
 function sayhello(name, callback) {
            setTimeout(function () {
                console.log(name);
                callback()
            }, 5000);

        }
sayhello("first", function () {
                sayhello("second", function () {
                    sayhello("third", function () {
                        console.log("end");
                    });
                });
            });

使用Promise对象解决回调地狱

 function sayhello(name) {
            return new Promise(function (resolve,reject){
                setTimeout(function () {
                    console.log(name);
                    resolve();
                    reject()
                }, 5000);
            })

        }
  sayhello("first").then(function () {
                return sayhello("second")
            }).then(function () {
                return sayhello("third")
            }).then(function (){
                console.log('end')
            }).catch(function (err){
                console.log(err)
            })

 

上一篇:JS 利用Promise去控制一次发起固定数量的请求


下一篇:Promise(故事篇)