nodejs中的串行无关联和并行无关联
//1:引入需要的模块
var async = require("async");
//为了记录这段程序运行的时间
console.time("time");
/**
- 下面介绍的是串行无关联
/
//1)、串行无关联--数组的形式
/async.series(
[
//函数1
function(callback){
setTimeout(function(){
callback(null,"first...");
},2000)
},
//函数2
function(callback){
setTimeout(function(){
callback(null,"second...");
},2000)
}
],
//回调函数
function(err,result){
console.log(result);
console.timeEnd("time");
});
/
/
结果的显示:
olivadeMacBook-Pro:串行无关联 oliva$ node index
[ 'first...', 'second...' ]
time: 4017.429ms
/
//2)、串行无关联--对象的形式
/async.series(
{
//函数1
"one":function(callback){
setTimeout(function(){
callback(null,"first...");
},2000)
},
//函数2
"two":function(callback){
setTimeout(function(){
callback(null,"second...");
},2000)
}
}
,
//回调函数
function(err,result){
console.log(result);
console.timeEnd("time");
});*/
/*
结果的显示:
olivadeMacBook-Pro:串行无关联 oliva$ node index
{ one: 'first...', two: 'second...' }
time: 4014.632ms
/
/*
- 下面介绍的是:并行无关联
/
//1)、并行无关联--数组的形式
/
async.parallel(
[
//函数1
function(callback){
setTimeout(function(){
callback(null,"first...");
},2000)
},
//函数2
function(callback){
setTimeout(function(){
callback(null,"second...");
},2000)
}
],
//回调函数
function(err,result){
console.log(result);
console.timeEnd("time");
});
/
/*
-
结果的显示:
-
olivadeMacBook-Pro:串行无关联 oliva$ node index
[ 'first...', 'second...' ]
time: 2006.115ms
/
//2)、并行无关联--对象的形式
/
async.parallel(
{
//函数1
"one":function(callback){
setTimeout(function(){
callback(null,"first...");
},2000)
},
//函数2
"two":function(callback){
setTimeout(function(){
callback(null,"second...");
},2000)
}}
,
//回调函数
function(err,result){
console.log(result);
console.timeEnd("time");
});*/
/**
- 结果的显示:
- olivadeMacBook-Pro:串行无关联 oliva$ node index
{ one: 'first...', two: 'second...' }
time: 2010.268ms
重点是时间的减少表明了程序的并行
*/