我想我可能对async.js的工作原理没有正确的认识。在以下示例中,不执行回调函数,我不确定原因。
async.parallel([
function(){
console.log('one');
},function(){
console.log('two');
}
], function(err, results) {
console.log('done!');
});
在控制台中,我有:
one
two
我也为这段代码制作了一支笔http://codepen.io/tnguyen14/pen/GaJxl
我已多次阅读异步网站https://github.com/caolan/async#parallel中的文档,并尝试在线搜索如何使其工作的示例,但我仍然没有得到它。
如果有人能向我解释异步是如何工作以及我的代码有什么问题,我将不胜感激。
答案 0 :(得分:1)
异步期望异步控制流来自它的参数,e.i函数通过调用提供的回调函数传递有关完成的信号。
async.parallel
从输入列表中顺序调用每个函数,然后在n个输入函数正确完成n次完成n次后调用结果回调。
async.parallel([
function(callback){
console.log('one');
$('.thing').html('one');
callback(); // this is the way to tell async.parallel "I'm done". It can happen from different stack frame
},function(callback){
console.log('two');
$('.thing').html('one');
setInterval(callback, 1000); // just to make it more async-ly.
}
], function(err, results) {
console.log('done!');
$('.result').html('one');
} );
您在codepen上的示例:http://codepen.io/anon/pen/KBhob