Хорошо, так что обо всем по порядку:
Я действительно не верю, что загрузка этих 500+ изображений начнется сразу.Движок V8 (вроде исполнителя кода nodejs
) фактически управляет разумным количеством потоков и повторно использует их для выполнения своих задач.Таким образом, он не будет создавать «много» новых потоков, но будет ждать завершения других потоков.
Теперь, даже если все это началось сразу, я не думаю, что файлы будут повреждены.Если бы файлы были повреждены, вы бы не смогли открыть эти файлы.
Итак, я уверен, что проблема с изображениями не в том, что вы думаете.
Теперь,для первоначального вопроса и для проверки, если я ошибаюсь, вы можете попробовать загрузить эти файлы в следующей последовательности:
var recursiveDowload = function (urlArray, nameArray, i) {
if (i < urlArray.length) {
request.get(urlArray[i])
.on('error', function(err) {console.log(err)} )
.pipe(fs.createWriteStream(nameArray[i]))
.on('close', function () { recursiveDownload (urlArray, nameArrya, i+1); });
}
}
recursiveDownload(allUrlArrya, allNameArray, 0);