async.js - async.map不返回任何值

时间:2016-12-07 14:28:05

标签: javascript jquery async.js

我在使用异步库时遇到问题。 我的目标是能够并行执行函数请求,为此我使用的是异步库。在我的代码中,我创建了一个函数数组,其中必须使用async.map并行调用thebn。当我想从异步任务中读取返回值时,我遇到了问题。

这里是代码段:

  var pages = Math.ceil(rowCount/config.ROWS_PER_PAGE);
  var func = [];
  var top, left, wdith, height;
  for(var i=0; i<=pages;i++) {
      top = i * config.ROWS_PER_PAGE;
      left = 0;
      width = config.DATA_PER_ROW;
      height = Math.min(config.ROWS_PER_PAGE, rowCount - i * config.ROWS_PER_PAGE); 
      var ff = makeCallbackFunc(top, left, width, height);
      func.push(ff(function () {return true;}));
   }

  async.map(
    func,
        function(err, results){  
            //???? Can not read the results output here!!??                        
            console.log('all calls called without any errors');
        });

  function makeCallbackFunc(top, left, width, height) {
    return function (callback) {
    console.log('top: ' + top + 'left: ' + left + 'width: ' + width + 'height: ' + height);
    return backendApi.getData([{
        qTop: top,
        qLeft: left,
        qWidth: width,
        qHeight: height
      }]);

    };
  }

这是使用console.log(结果);

的输出

enter image description here

谢谢!

0 个答案:

没有答案