Nodejs - асинхронный - параллельный - лимит обратного вызова не является функцией - PullRequest
0 голосов
/ 19 мая 2018

Я получил эту ошибку после запуска кода ниже.Кто-нибудь может помочь?

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 голосов
/ 19 мая 2018

Использование асинхронного оператора перед вашей функцией превращает его в обещание думаю , что асинхронная библиотека еще не справилась с этим.Вы можете удалить ключевое слово async и сделать что-то вроде

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