1112 Полагаю, вы неправильно поняли, как работают маршруты. Проверьте эту страницу MDN для получения дополнительной информации.
/name/:name
будет соответствовать любому маршруту, например /name/.*
, что означает, что он будет соответствовать любому, если в качестве префикса будет /name/
, т.е.
:name
является PLACEHOLDER . Это означает, что все, что вы ставите после /name/
, доступно для переменной req.params.name
.
Теперь для вашего примера, когда вы нажимаете /name:name
, он не соответствует шаблону /name/.*
, поэтому он идет к следующему маршруту. /:id
означает /.*
, что фактически является любым маршрутом.
ЕСЛИ Вы делаете поспешный снимок текущего времени, прежде чем Вы сделаете что-нибудь, можно ли просто добавить секундомер ко времени, которое Вы сохранили, нет?
Необходимо спросить себя, если Вы действительно требуетесь точное время, или просто закрываете достаточно времени плюс увеличивающееся целое число.
можно сделать хорошие вещи путем получения теперь () сразу после события ожидания, такие как взаимное исключение, выбрать, опросить, WaitFor*, и т.д., и затем добавления порядкового номера к этому, возможно, в диапазоне наносекунды или везде, где существует комната.
можно также использовать rdtsc машинную команду (некоторые библиотеки обеспечивают обертку API для этого, не уверенного в выполнении этого в C# или Java) получить дешевое время от ЦП и объединения это со временем с этого времени (). Проблема с rdtsc состоит в том, что в системах со скоростью, масштабирующей Вас, никогда не может быть совершенно уверено что ее попытку сделать. Это также повторяется справедливо быстро.
Вы могли использовать DateTime. Теперь. Галочки, считайте artical на , MSDN
"Единственная галочка представляет сто наносекунд или одну десятимиллионную секунды".
Проблема с DateTime, когда контакт с миллисекундами не происходит из-за класса DateTime вообще, а скорее, имеет отношение к галочкам ЦП и частям потока. По существу, когда операция приостанавливается планировщиком, чтобы позволить другим потокам выполняться, это должно ожидать в минимуме 1 интервала времени прежде, чем возобновиться, который составляет приблизительно 15 мс в современном Windows OSes. Поэтому любая попытка приостановиться для меньше, чем этой точности на 15 мс приведет к неожиданным результатам.