2016-05-16 5 views
1

Ich habe node.js nicht zuvor verwendet.
Haben Sie eine TXT-Datei mit einer Liste von Magnetverbindungen. Möchten Sie eine JSON-Datei mit einer Liste aller in diesen Links enthaltenen Dateien schreiben.node.js webtorrent sammeln Sie alle Dateien von Magnet-Link

var WebTorrent = require('webtorrent'); 
var fs = require('fs'); 
var client = new WebTorrent(); 
var array = fs.readFileSync('yop.txt').toString().split("\n"); 
i = 0; 
while (i < array.length) { 
//console.log(array[i]); 
var magnetURI = array[i]; 
n = 0; 
client.add(magnetURI, function (torrent) { 
    torrent.files.forEach(function (file) { 
     //console.log(file.name) 
     jsonString = JSON.stringify({'book': file.name}); 
     fs.appendFile("data.json", jsonString, function (err) { 
      if (err) {console.log(err);} else { n++ } 
     }); 
     if (n == torrent.files.length) {i++ } 
    }) 
}) 

}

when run gives the following error
Sorry für solch schrecklichen Code.

Antwort

1
var WebTorrent = require('webtorrent') 
var fs = require('fs') 
var stream = fs.createWriteStream("2.txt"); 
var client = new WebTorrent() 
var array = fs.readFileSync('yop.txt').toString().split("\n"); 

i = 0; 

function parseMagnet (uri){ 

    var magnetURI = uri[i] 
    console.log(magnetURI) 
    client.add(magnetURI, function (torrent) { 
     torrent.files.forEach(function (file) { 
     writeStr = (uri[i]+ '\n'+ file.name+ '\n'); 
     stream.write(writeStr); 
     console.log(file.name)  
     }); 
     console.log('Done !') 
     console.log(i) 
     i += 1   
     parseMagnet(array); 
     client.remove(magnetURI); 
    }) 

} 

parseMagnet(array) 
+1

Sie sollten wirklich Ihre Antwort erklären, Code-Dumps werden abgeraten. –

Verwandte Themen