Я пытаюсь использовать каждую функцию async для вызова функции abc, и я сталкиваюсь с проблемами пары. Код выглядит следующим образом.async каждый и foreach функции
Причина, почему я использую цикл здесь, потому что, когда я пытался использовать каждую функцию, URL-адрес, который передается в URL функции азбуки в виде массива вместо строки. Поэтому мне интересно, есть ли другой способ очистить это, не добавляя цикл for.
После добавления нескольких инструкций печати я понял, что код никогда не выполняет pass http.get (url [a], newFileLoc, function (error, result) {по какой-то причине. Всегда есть сообщение об ошибке «async. каждый (URLs, DownloadFile (URLs, функция() { TypeError: Объект # не имеет метода «каждый»»
Так что я думаю, мой вопрос в том, что именно не так с кодом я пытался использовать Foreach? вместо каждого, но была иная ошибка ». Итератор (x, function (err) { ТипError: undefined не является функцией».
Кто-то, пожалуйста, помогите!
var abc = function (url, cb) {
for (var a = 0; a < url.length; a++){
var index = url[a].lastIndexOf("/") + 1;
var filename = url[a].substr(index);
var newFileLoc = "./tmp/" + filename;
http.get(url[a], newFileLoc, function (error, result) {
if (error) {
console.error(error);
} else {
cb();
}
});
}
}
var urls = ["www.randomurl.random.random/", "www.randomurl.random.random/"];
async.each(urls, abc(urls, function(){
console.log('downloaded' + results);
}), function(err){
if(err){
console.log(err);
}
});
Как можно было бы вызывать «abc», если вы не передадите его в «каждый»? – Dan455
Извините, это была ошибка. Исправленный! – jensiepoo
Итак, вы сделали «var async = require ('async')'? –