Узел writeFile не записывает весь файл

Я пытаюсь прочитать CSV-файл и записать содержимое в новый CSV-файл, но при этом у меня возникают некоторые проблемы.

Мой код, кажется, читает файл в порядке, и если я регистрирую результаты тела в консоли, он показывает полный файл. Однако, когда я пытаюсь записать в файл, кажется, что он не записывает все содержимое.

Код, который я использую, выглядит следующим образом...

var http = require('http');
var fs = require('fs');
var readfile = "http://datafeed.api.productserve.com/datafeed.csv";
var writefile = "app/data/file.csv";

http.get(readfile, function(response) {
    var body = '';
    response.on("data", function(chunk) {
        body += chunk;
    });
    response.on('end', function(){
        fs.writeFile(writefile, body, function(error) {
            if(error) {
                console.error("write error: " + error.message);
            } else {
                console.log('Successful');
            }
        });
    });
});

Я делаю что-то неправильно? Или есть какие-то ограничения на то, сколько вы можете написать?

Любая помощь высоко ценится :)


person Phil    schedule 03.05.2017    source источник
comment
Я не совсем уверен, в чем проблема, но вместо этого вы можете попробовать следующее: stackoverflow.com/a/11906398/5734311   -  person Chris G    schedule 03.05.2017
comment
Насколько велико тело в символах?   -  person Freeman Lambda    schedule 03.05.2017
comment
Все происходит асинхронно, так что идите на Promise, чтобы закончить свою работу.   -  person Inder R Singh    schedule 03.05.2017
comment
я не верю, что writeFile является ошибкой, потому что я пытался прочитать файл и записать в локальный файл csv, и это сработало нормально, попробуйте fs.readFile(readfile,'utf8', function(err, response) { console.log(response, ответ) fs.writeFile (файл записи, ответ, функция (ошибка) { если (ошибка) { console.error (ошибка записи: + error.message); } else { console.log («Успешно»); } }); } );   -  person Fadi Abo Msalam    schedule 03.05.2017