Вы не ждете всего сообщения, прежде чем пытаться его проанализировать.
Событие data
вызывается для каждого фрагмента данных из HTTP-ответа. Ответ не обязательно помещается в один блок.
Вам придется подождать события end
, прежде чем пытаться проанализировать JSON ... или, желательно, использовать библиотеку более высокого уровня, такую как node-fetch
для более удобного API на основе обещаний.