javascript - 异步请求等待问题
巴扎黑
巴扎黑 2017-04-10 17:59:06
[JavaScript讨论组]

现有多条数据需要一条一条的发回服务端,目前的做法是在数组里循环,异步发回服务端。最近需求更改了,要求发回去一条之后,拿到成功信息之后再发送第二条。这样循环嵌套异步就不好实现了,如果数据多了可能会更加麻烦。前台使用angularjs,求大手给个思路。

巴扎黑
巴扎黑

全部回复(2)
天蓬老师
    function ajax(name, cb){
        console.log('request:'+name);
        setTimeout(function(){
            console.log('response:'+name);
            cb && cb();
        }, Math.random()*3000);
    }

    function request(name){
        return function(cb){
            return function(){
                ajax(name, cb);
            }
        }
    }

    var httpArr = [];

    for(var i = 0; i < 5; i++){
        httpArr.push(request(i));
    }

    httpArr.reduce(function(a, b){
        return b(a);
    })();
    
    // 输出
    /*
    request:4
    response:4
    request:3
    response:3
    request:2
    response:2
    request:1
    response:1
    */
怪我咯

用promise,AngularJS的话用$q

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号