美文网首页react-native我爱编程
js多个异步请求,按顺序执行next

js多个异步请求,按顺序执行next

作者: 猪猪9527 | 来源:发表于2018-04-11 10:53 被阅读732次

在js里面,偶尔会遇见需要多个异步按照顺序执行请求,又不想多层嵌套,,这里和promise.all的区别在于,promise或者Jquery里面的$.when 是同时发送多个请求,一起返回,发出去的顺序是一起;这里是按照顺序发请求

首先创建一个迭代器,接收任意多个函数参数

function nextRegister(){
            var args = arguments;
            var count = 0;
            var comm = {};
            function nextTime(){
                count++;
                if(count < args.length){
                    if(args[count] && Object.prototype.toString.call(args[count]) == '[object Function]'){
                        args[count](comm,nextTime);
                    }
                }
            }
            if(args[count] && Object.prototype.toString.call(args[count]) == '[object Function]'){
                args[count](comm,nextTime);
            }  
        }  

创建多个异步的函数,注入到迭代器中

/*
         comm:多个函数,公用的变量
         next:调用下一个函数
         * */
        function fn1(comm,next){
            console.log('1');
            comm.age = 20;
            next();
        }
        function fn2(comm,next){
            next();
            console.log('2');
            console.log(comm.age);
        }
        function fn3(comm,next){
            console.log('3');
        }

//开始执行迭代

nextRegister(fn1,fn2,fn3);

在这里,fn1-fn3函数中,做异步操作,知道在异步成功的时候调用next()就可以继续执行下一个函数,同时可以将前面函数返回的结果,绑定在comm上,带到下一个函数中

相关文章

  • js多个异步请求

    js js多个异步请求,按顺序执行next ES6 方法 参考https://www.cnblogs.com/7q...

  • js多个异步请求,按顺序执行next

    在js里面,偶尔会遇见需要多个异步按照顺序执行请求,又不想多层嵌套,,这里和promise.all的区别在于,pr...

  • 网络异步请求同步、顺序处理

    一、异步网络请求按顺序请求(信号量) 打印结果 二、多个网络异步请求最后同步(Group) 打印结果 三、多个网络...

  • 多个请求按顺序执行

    1.dispatch_semaphore 信号量方式 https://www.aliyun.com/jiaoch...

  • iOS 网络请求回调问题

    1、多个网络请求完成后通知继续执行 2、多个异步请求,顺序回调结果

  • iOS多个网络请求同步执行

    这里所说的同步执行是指多个网络请求按顺序执行,但这些请求还是可以在异步线程处理的不会阻塞主线程;首先我们看一个实际...

  • 08 - 异步流程控制

    异步流程控制-async 安装: 串行无关联 async.series 按顺序依次执行tasks里面的多个异步函...

  • Review JavaScript

    红宝书 综合 script加载js会阻塞渲染,标签中 fefer 指异步加载js,在文档load之后按顺序执行。a...

  • 2022-03-11-🌦🌦for 异步执行方案

    for + 异步请求同步执行问题 有个需求是循环请求一个接口获得数据,问题是循环请求了但是接口是异步的,按顺序传过...

  • js实现“锁”

    在js中需要让某些异步的任务按顺序执行的时候可以Promise.then(Promise).then..... 但...

网友评论

    本文标题:js多个异步请求,按顺序执行next

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