Javascript 如何使用nodejs加载和保存多个文件?
我需要使程序在nodejs采取其他网站的列表文件,并保存在我的机器 例如:Javascript 如何使用nodejs加载和保存多个文件?,javascript,node.js,Javascript,Node.js,我需要使程序在nodejs采取其他网站的列表文件,并保存在我的机器 例如: 函数saveLocalFiles(文件){ for(文件中的变量i){ var file=fs.createWriteStream(path.join(uu dirname,“media/”+files[i].file)); console.log(URL+files[i].FILE); http.get(URL+文件[i]。文件,函数(响应){ 管道(文件); on('finish',function(){ file
函数saveLocalFiles(文件){
for(文件中的变量i){
var file=fs.createWriteStream(path.join(uu dirname,“media/”+files[i].file));
console.log(URL+files[i].FILE);
http.get(URL+文件[i]。文件,函数(响应){
管道(文件);
on('finish',function(){
file.close(()=>{
log(“结束->”+文件[i].FILE);
});
});
})
}
}
使用承诺并尝试将代码分为两个功能:
function saveLocalFiles(files) {
Promise
.all(files.map(file => saveLocalFile((URL, file.FILE))))
.then((files) => {
console.log(files);
})
}
function saveLocalFile(URL, FILE) {
return new Promise((resolve) => {
var file = fs.createWriteStream(path.join(__dirname, "media/" + FILE));
console.log(URL + FILE);
http.get(URL + FILE, function (response) {
response.pipe(file);
file.on('finish', function () {
file.close(() => {
console.log("ends ->" + FILE);
resolve(FILE);
});
});
})
})
}
使用承诺并尝试将代码拆分为两个函数:
function saveLocalFiles(files) {
Promise
.all(files.map(file => saveLocalFile((URL, file.FILE))))
.then((files) => {
console.log(files);
})
}
function saveLocalFile(URL, FILE) {
return new Promise((resolve) => {
var file = fs.createWriteStream(path.join(__dirname, "media/" + FILE));
console.log(URL + FILE);
http.get(URL + FILE, function (response) {
response.pipe(file);
file.on('finish', function () {
file.close(() => {
console.log("ends ->" + FILE);
resolve(FILE);
});
});
})
})
}