У меня есть объект массива типа файла data.json с длиной массива ~ 4000, каждый объект имеет свойство ~ 200. Когда я читаю файл и POST для обратной петли API, и я получаю сообщение об ошибке ECONNREFUSED Socket зависает.

Как справиться, когда ПОСТ большой JSON?

const runPOST = async () ={amp}gt; { let rawJson = fs.readFileSync('./data.json', 'utf-8'); let res = JSON.parse(rawJson) const baseUrl = ''; for (let i = 0; i {amp}lt; res.length; i  = 100) { const requests = res.slice(i, i   100); requests.map(v ={amp}gt; axios.post(baseUrl, v)); await Promise.all(requests).catch(r ={amp}gt; console.log(r)); } } runPOST(); 

Я использовал loopback3.x в localhost с памятью типа db

 // datasources.json "db": { "name": "db", "connector": "memory", "file": "db.json" } 

Ваша проблема не имеет ничего общего с размером вашей полезной нагрузки.

Вот объяснение ошибки «Отказ в соединении» :

На этапе установления TCP-соединения (в вашем случае) клиент отправляет пакет SYN на сервер, но получает ответный пакет с флагом RST.

Это означает, что ваше соединение не может быть установлено, потому что на стороне сервера не запущена какая-либо служба на запрошенном порту.

Это происходит задолго до того, как вы начинаете отправлять свои данные на сервер, поэтому ваша проблема вообще не связана с размером ваших данных.

Эти RST-пакеты также можно отправлять, когда брандмауэр настроен на REJECT-соединения на основе некоторых критериев.

Так что в вашем случае вам нужно проверить:

  • содержимое переменной baseUrl (ооо, подождите. пусто :-))
  • статус самой услуги (которую вы пытаетесь достичь)
  • правила брандмауэра

Также вы можете понюхать трафик, чтобы увидеть, что на самом деле происходит.