Вам выше уже ответили что у вас проблема только в том как конкретно вы тестируете. Я сам на этом однажды накололся.
Попробуйте сделать себе тестовый скрипт на том же PHP, который будет ждать перед ответом 1-10 секунд - в зависимости от параметра(разместите где-нибудь что бы был доступен по http). И дёргайте этот скрипт из NodeJs по http. (т.е. сэмулируете полностью свою задачу).
И увидите что будет корректно работать. Если конечно же вы будете асинхронные функции использовать для получения данных.