Nodejs - async - parallel - 限制回调不是一个函数

时间:2018-05-19 03:28:45

标签: node.js asynchronous

运行下面的代码后出现此错误。有人可以帮忙吗?

  

TypeError:回调不是函数

api_call_arr.push(async function(callback) {
  let api_result = await apiHelper.makeAPI('post', api_data);
  if (api_result.Errors !== undefined) {
    console.log('success 1');
  } else {
    console.log('error 1');
  }
  callback(null, true);
});
async.parallelLimit(api_call_arr, 5, function(err, data) {
  console.log(err);
});

1 个答案:

答案 0 :(得分:1)

在函数turns it into a promise之前使用async运算符。 我guess异步lib还没有处理这个问题。 您可以删除async关键字并执行类似

的操作
 apiHelper.makeAPI(...)
        .then((result) => callback(null, result.Errors !== undefined))
        .catch((err) => callback(err, false)))