サーバー上のファイル名のリストを含むJSONファイルがあります。このリストをループして各ファイルをローカルに保存する必要があります。私はこれをある程度学んでいます。時々それは魅力のように動作し、他のものは動作せず、空のファイルで終わります。Node.js - http.getを使用してローカルに保存するJSONのファイルリスト
これはおそらく前のファイルがダウンロードされる前にダウンロードされていますが、次のファイルのダウンロードを開始するときにコールバックを取得するように書き直すのに苦労しています。私はクライアントサイドのコーディングに熟練しているわけではないので、実際にはこれを参考にしていただければ幸いです。
var filefolder = 'http://www.example.com/files/';
var newdir = nw.App.dataPath;
$.each(jsonFiles, function(i, fn) {
//read and download to save locally
var filelink = filefolder + '/' + fn;
var newfile = fs.createWriteStream(newdir+'/files/' + '/' + fn);
var request = http.get(filelink, function(response) {
response.pipe(newfile);
console.log(fn);
newfile.on('finish', function() {
newfile.close(cb);
});
});
});
は思えます。たぶん、 "http new.file ..."のコールバックの中に "var newfile = ..."を配置してみてください。次に、 "response.pipe ..."を "newfile.on( 'finish')のコールバックに移動してください。 – josephnvu
paramsが動作する可能性があるので、' filelink、newfile、fn&cb'で 'http.get'を閉じる – Thaadikkaaran
ありがとう@josephnvu、あなたの提案を試みたが、すべてのファイルが空ではなく、ほんのわずかです。 – LeeTee