nodejs代码的深层嵌套实现同步操作

  今天看这着nodejs深层嵌套实现同步的代码想了半天才明白是怎么回事,虽然这个方法非常差但是了解一下具体的流程还是不错的。首先上代码

var func1 = function(req,res,callback){
    setTimeout(function(){
        console.log('in func1');
        callback(req,res,'12');

    },1300);
}
var func2 = function(req,res,callback){
    setTimeout(function(){
        console.log('in func2');
        callback(req,res,2);
    },500);
}

var func3 = function(req,res,callback){
    setTimeout(function(){
        console.log('in func3');
        callback(req,res,3);
    },100);
}
var req = null;
var res = null;


func1(req,res,function(){
    func2(req,res,function(){
        func3(req,res,function(){
            process.exit(0);
        })
    });
});
我刚开始非常纠结func1的第三个参数,调试出来第三个参数是个函数我想了半天也没想通。后来自己慢慢看总算是看明白了,首先把三个参数传给func1分别是null,null和一个包含func2和func3的大函数,然后func1延迟1.3S执行打印,然后通过callback把三个参数传给func2,callback的三个参数无所谓因为func2和func3都没用到只要有参数传进去就不会报错了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值