Не удается отправить проанализированный поток JSON с одного сервера на другой - PullRequest
0 голосов
/ 27 марта 2020

Я просто пытаюсь использовать потоки в узле, чтобы получить данные с сервера, после этого проанализировать JSON из них и отправить его как formData на другой сервер.

// declare JSONStream
const stream = JSONStream.parse(['records']);
let header = {};
stream.on('header', function (data) {
    console.log('header:', data);
    header = data;
});
stream.on('data', (data) => {
    return data;
});

... После этого я делаю запрос данных

res = Request.get(result_url);
res.pipe(stream);
res.pause();
res.on('end', () => console.log('finished'));

... И после этого я пытаюсь отправить поток res на другой сервер

const sendRequest = {
    uri: url,
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    formData: {
        file: fileStream,
    },
    resolveWithFullResponse: true,
    simple: false
};
let response = await Request(sendRequest);

И поток запускается (я добавил несколько console.logs) после последнего запроса отправлено, но код останавливается в ожидании. Так что мой запрос не заканчивается sh.

Если я изменю файл в запросе на fs.createReadStream (), все будет хорошо.

Что я должен сделать, чтобы исправить мою проблему?

...