美文网首页
js.Promise 解决地狱回调

js.Promise 解决地狱回调

作者: 许道龙 | 来源:发表于2016-07-15 09:50 被阅读0次

    之前见过的一道Promise面试题的答案

    function red(){
        console.log('red');
    }
    function green(){
        console.log('green');
    }
    function yellow(){
        console.log('yellow');
    }
    
    var tic = function(timmer, cb){
        return new Promise(function(resolve, reject) {
            setTimeout(function() {
                cb();
                resolve();
            }, timmer);
        });
    };
    
    var d = new Promise(function(resolve, reject){resolve();});
    var step = function(def) {
        def.then(function(){
            return tic(3000, red);
        }).then(function(){
            return tic(2000, green);
        }).then(function(){
            return tic(1000, yellow);
        }).then(function(){
            step(def);
        });
    }
    
    step(d);
    

    相关文章

      网友评论

          本文标题:js.Promise 解决地狱回调

          本文链接:https://www.haomeiwen.com/subject/nqryjttx.html