Ловите
Актуальность - год назад.
Не все города на русский переведены. Первая колонка - id страны, на всяк. случай. Города не все, "крупные" только. Предел крупности не помню уже.
Есть деньги - магистральная оптика и в каждом доме (узле) хаб.
Нет денег - "обычный" (читай хороший) ethernet кабель с репитерами каждые 300-500 метров.
Совсем глупые вопросы банятся модераторами. Неглупый вопрос может быть отвечен кем-то еще и быть полезен кому-то еще. А Ваш рейтинг никого не волнует, если честно.
Самый правильный вариант - поместить "все то, что ниже таймаута" внутрь функции callback.
И побольше почитать про асинхронность Node.js - отличия в архитектуре приложения от того же php просто гигантские.