私は非同期ライブラリに頭を悩ませようとしていますが、NodeJs ではかなりぐらついていて、async.parallel を理解できません。以下のコードTypeError: undefined is not a function
は、並列タスクが実行される行でエラーを生成します。async.parallel で実行されるタスクには、完了したcallback()
ときにタスクが必要であるという点で正しいですか? (関数の無関係な部分は編集されています)
function scrapeTorrents(url, callback) {
request(url, function(err, res, body) {
if(err) {
callback(err, null);
return;
}
var $ = cheerio.load(body);
var results = [];
var asyncTasks = [];
$('span.title').each(function(i, element){
// scrape basic info
var show = {title: info.title, year: info.year};
asyncTasks.push(
getOmdbInfo(show, function (err, res) {
if (res) {
omdbInfo = res;
results.push({
// add basic info and Omdb info
});
}
callback();
})
);
});
async.parallel(asyncTasks, function(){
callback(null, results);
});
});
}