优化回调地狱

优化回调地狱

// then 
        (function () {
            return $.ajax({
                url: 'https://easy-mock.com/mock/5c09f40d3c098813c612cce6/movie/power',
                type: 'POST',
                data: {
                    username: 'cst',
                    password: '123123'
                }
            });
        })()
        .then(function (res) {
            if (res.data.power == 'root') {
                return $.ajax({
                    url: 'https://easy-mock.com/mock/5c09f40d3c098813c612cce6/movie/movieList',
                    type: 'GET',                    
                });
            }
        })
        .then(function (res) {
            var data = res.data;
            var $Wrapper = $('.wrapper');
            var df = $.Deferred();
            $.each(data, function(index, ele) {
                // ele.name  ele.poster
                var $MovieSection = $('.tpl').clone().removeClass('tpl').addClass('movieSection');
                $MovieSection
                    .data({id: ele.id})
                        .on('click', function () {
                            df.resolve( $(this) );
                        })   
                            .children()
                                .eq(0).attr('src', ele.poster)
                                    .next().text(ele.name);
                    $Wrapper.append($MovieSection);    
            });  
            return df.promise();                      
        })
        .then(function (dom) {
            return $.ajax({
                url: 'https://easy-mock.com/mock/5c09f40d3c098813c612cce6/movie/movieInfo',
                type: 'GET',
                data: {
                    movieId: dom.data('id')
                }  
            });    
        })
        .then(function (res) {
            var data = res.data;
            var direct = data.direct;
            var gut = data.gut;
            var mainActor = data.mainActor;
            var screenWriter = data.screenwriter;

            var htmlStr = '<div class="mask">\
                <p>导演: ' + direct + '</p>\
                <p>剧情: ' + gut + '</p>\
                <p>主演: ' + mainActor.reduce(function (prev, curv) {
                    prev += curv + ' ';
                    return prev;
                }, '') + '</p>\
                <p>编剧: ' + screenWriter.reduce(function (prev, curv) {
                    prev += curv + ' ';
                    return prev;
                }, '') + '</p>\
            </div>'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值