1

URLから複数のファイルをダウンロードする必要があります。ファイルにそれらのリストがあります。どうすればいいですか?私はすでにそれを作っていますが、うまくいきません。次の WAN を開始する前に、最後のダウンロードが完了するまで待機する必要があります。どうやってやるの?

4

3 に答える 3

5

その前にファイルのコールバックからダウンロード関数を呼び出したい。私は何かを一緒に投げました、それがきれいだとか生産準備ができているとは考えないでください;-)

var http = require('http-get');

var files = { 'url' : 'local-location', 'repeat-this' : 'as often as you want' };

var MultiLoader = function (files, finalcb) {

        var load_next_file = function (files) {

                if (Object.keys(files) == 0) {
                        finalcb(null);
                        return;
                }   

                var nexturl = Object.keys(files)[0];
                var nextfnname = files[nexturl];

                console.log('will load ' + nexturl);
                http.get(nexturl, nextfnname, function (err, result) {
                        console.log('loaded ' + nexturl);
                        delete files[nexturl];
                        load_next_file(files);
                }); 
        };  

        load_next_file(JSON.parse(JSON.stringify(files)));

};

MultiLoader(files, function () { console.log('finalcb'); }); 

http-getは標準ノード モジュールではありません。 経由でインストールできますnpm install http-get

于 2013-06-29T13:07:03.840 に答える
0

ノードjsで fs (var fs = require('fs');) を使用してファイルを読み取ることができます

fs.readFile('<filepath>', "utf8", function (err, data) {
        if (err) throw err;
        console.log(data);
                });
于 2016-11-23T07:26:20.997 に答える