当前位置: 首页 > 工具软件 > Async.js > 使用案例 >

async.js 实现js函数执行顺序

彭飞虎
2023-12-01

借助Async.js可以简化和组织我们的多个异步函数,非常方便。
Async.js 本身使用在服务端-node.js 的,但它也可以用在浏览器端。

举例举例: 依旧是 a() -> b()-> c() 的调用序列:
async.series([function(callback){
a(callback);
}, function(callback){
b(callback);
}, function(callback){
c(callback);
}
]);

function a(callback){
setTimeout(function(){//用timeout模拟回调方法返回,
console.log("a 方法回调方法结束");
callback();
}, 5000);
console.log("a 方法结束");
}

function b(callback){
setTimeout(function(){
console.log("b 方法回调方法结束");
callback();
}, 3000);
console.log("b 方法结束");
}

function c(callback){
setTimeout(function(){
console.log("c 方法回调方法结束");
callback();
}, 1000);
console.log("c 方法结束");
}

输出结果:

a 方法结束
a 方法回调方法结束
b 方法结束
b 方法回调方法结束
c 方法结束
c 方法回调方法结束

这就达到了我们的需要,在这里,需要主意的是,方法要改造一下

//方法参数可以多个,但最后一个必须是callback, 

如: function(req,res, callback) 也是可以的
async.series([function(callback){
a(callback);
}........

async.js依赖nodeunit.js,且引入时必须在nodeunit.js之后
<script src="js/nodeunit.js"></script>
<script src="js/async.js"></script>

async的其它方法,和安装方式见官方网站 

https://github.com/caolan/async


 类似资料: