如何异步编程?

同步编程的思维学node.js的异步好头大。
我想输出
"
a1
a1-end
a2
a2-end
Run OVER
"
就是出不来。
错误的代码如下:


async=require("async"); a1=function(cb){ setTimeout(function(){console.log("a1")}, 2000); cb(function(){console.log("a1-end")}); } a2=function(cb){ setTimeout(function(){console.log("a2")}, 2000); cb(function(){console.log("a2-end")}); } async.series([ function(cb) { a1(cb); }, function(cb) { a2(cb); } ], function(err, results) { console.log("Run OVER") });
阅读 3.2k
1 个回答

学习了下,自己回答下吧,但还是理解的不是很深刻:

javascript1async=require("async");

a1=function(cb){
    setTimeout(function(){console.log("a1");
    console.log("a1-end");
     cb();
     }, 5000);
     }




a2=function(cb){
    setTimeout(function(){console.log("a2");
     console.log("a2-end");
    cb();
    }, 2000);


}

async.series([
        function(cb) {
             a1(cb);
        },
        function(cb) {
          a2(cb);
        }
    ],

    function(err, results) {
        console.log("Run OVER")
    });
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题