У меня есть два отдельных массива, которые мне нужно обработать. Поскольку они не являются взаимозависимыми, я хотел бы сделать это асинхронно.Работа с массивами с async.parallel
Вот мой код:
cats = ['snowball', 'berlioz', 'garfield', 'lucifer'];
tigers = ['shere khan', 'hobbes', 'rajah'];
async.parallel({
cats: async.apply(cats.forEach(function(item){
if(item == 'garfield')
console.log('hide your lasagna');
else
console.log('all safe');
})),
tigers: async.apply(tigers.map(function(item){
if(item == 'hobbes')
return 'eats tuna';
else
return 'eats people';
}))
}, function(error, results){
if(error)
console.log(error); return;
meals = JSON.parse(results['tigers']);
console.log('tiger meals: '+meals);
});
Это ошибка, я получаю:
TypeError: Cannot call method 'apply' of undefined
Что происходит не так?
Кроме того, как вопрос, как я могу реализовать async.forEach
и async.map
здесь?
Это очень хорошие указатели, спасибо! Теперь я вижу, как я ошибаюсь «асинхронно» для «многопоточных». – CrackerKraken