Большие объекты Json с Node.js Rest Api и Electron - PullRequest
0 голосов
/ 18 февраля 2019

У меня может быть момент блондинки, но я сижу над этим вопросом почти две недели.Мне действительно нужна помощь.

У меня есть сервер под управлением Node.js, у которого есть простая функция

 app.post('/', (req, res) => {
        //stream
        var SEND_TO_CLIENT_E = function (message) {
        var encrypt = Encrypt_AES(message, CONNECT_ID[ClientID]);

        var str = JSON.stringify({
            E: "E",
            D: encrypt
        })
        console.log('str')
        console.log(str)
        var buf = Buffer.from(str);
        res.write(buf);
    }
    //end stream
    var SEND_TO_CLIENT_END = function () {
        res.end();
    }
 }

У меня есть большое количество объектов Json, которые нужно отправлять, но в пакетном режиме.так, например,

obj 1

{"E":"E","D":"067fe5b5c2e93d21e06a49a48be69c5b516a128bf1c17aadbaeb764aff58259aa719e95941142cd1d74ce698678d9cd447b011b8790b6f79c58f545e273203572baea29843f8627c397b94b15f9d56313f57d464c64e23ae87cc2cf7cd2d20df978b943b8e1442e2e8e616dfbaa54386295ae6b1e4d1c0790cff1f583421060cb43ba37f3d02d4ec3cd0e21f166fa7008d1efa47361f037d2b2b83ab82eaa7e6040159c91a71080c14ca17406eab7a5b2cb95fbc64666905cf7b0f4d1ca83a06c1b7d44bcc862a866297fe4e819d97a06ee36e0f2c441c21a2b0647a5e9150b740ebf3b7442c2b2d5eef009c0af45a39873eb19a44f0eb6131ea235d6b33688d61cd117ebe56406099024b03f2d6cc7505de11c8b6542277ee817038b8e1517c906ed597734f768ce70a879bdf840d3dee10ba8fd832c37da644f87557c88807a05f88c3c07835c4573d21a75f9fa4f4ddeb4f9a229a1a0a82b87816263612fc71dbb81cb10421a654afd7ed24c120ecd4316566883c894fafd8da29d46735ae5d7d4dcbdfb2cfd4b0d2ca1ed1fd6b8"}

obj 2

{"E":"E","D":"067fe5b5c2e93d21e06a49a48be69c5b516a128bf1c17aadbaeb764aff58259a8c59ed61536d665118a99fe47eb7c7f5e25d1c11a6e724be49648befc493fadb92498f54a7c002b2ae6a76b2e95ff8ec7d5fbce81291334e14d13c8c7729529a437e01f8d2e6a9b8b6b8346eb6e71ffcf5bde499a4c0b0ad3e1547cdab1fc233d7666c163f1b7fab0dca35ca0de585239daafdfc3a1471fa0c9c8fe4f76d6ac7bb5a75991621008196f7aa7a334e1a4de6d6455105e56ac707356ac17f7b8c4a"}

obj 3

{"E":"E","D":"067fe5b5c2e93d21e06a49a48be69c5b516a128bf1c17aadbaeb764aff58259aa719e95941142cd1d74ce698678d9cd422037faeefdb5c594bb91f20f225d9e21da1b9ad70c3f1e35e48613b1929015b8eefc33b35cf9a1790028002f2634324a4925fa7ad9dc11d0426c4975a980dcbe40ee43817fd3bb7929f1a90ba6907a1"}

теперь это всего лишь пример, который я мог быу меня есть до 100000 объектов на стороне клиента, вот код подтверждения.

exports.POST = function (url, data, fn) {
  fetch(Server_Ip + url, {
    method: 'POST',
    headers: {
      Accept: 'application/json',
      'Content-Type': 'application/json',
    },
    body: data,
  })
    .then(response => Promise.all([response.json()]))
    .then(([response]) => {
      //set fetching back
      fetching = false;
      log.warn('response');
      log.warn(response);
      fn(response);

    })
    .catch(err => {
      log.warn("error catch search:", err.message);
      //set fetching back
      fetching = false;
      //fn({ D: 0 });
    })
}

если я получу один объект, код работает нормально.клиент может читать и жизнь продолжается.Как только я отправляю непрерывную информацию, я получаю эту ошибку

поиск перехвата ошибок: недопустимое тело ответа json в http://127.0.0.1:6531/ причина: неожиданный токен {в JSON в позиции 31128

Насколько я понимаю, это попытка увидеть все как один объект.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...