node.js webtorrent собирать все файлы по ссылке на магнит

Я не использовал node.js раньше.
Иметь файл.txt со списком ссылок на магниты. Хотите написать файл JSON со списком всех файлов, содержащихся в этих ссылках.

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++ }
    })
})

}

при запуске выдает следующую ошибку
Извините за такой ужасный код.

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)
Другие вопросы по тегам