1

我想我可能对 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的文档,并尝试在线搜索有关如何使其工作的示例,但我仍然不明白。

如果有人能向我解释异步是如何工作的以及我的代码有什么问题,我将不胜感激。

4

1 回答 1

0

Async 期望来自它的参数的异步控制流,ei 函数通过调用提供的回调函数传递有关完成的信号。

async.parallel从输入列表中顺序调用每个函数,然后在 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

于 2013-08-06T02:21:23.947 回答