Я изучаю node.js, и большинство примеров, которые я могу найти, имеют дело с простыми примерами.Меня больше интересует создание сложных систем реального мира и оценка того, насколько хорошо модель node.js на основе событий может обрабатывать все варианты использования реального приложения.
Один из распространенных шаблонов, которые я хочу применить, - эторазрешить блокирование выполнения до истечения времени ожидания, если оно не произошло в течение определенного времени ожидания.Например, если для выполнения запроса к базе данных требуется более 30 секунд, это может быть слишком много для определенного приложения.Или, если чтение файла занимает более 10 секунд.
Для меня идеальный поток программ с таймаутами был бы аналогичен потоку программ с исключениями.Если событие не происходит в пределах определенного предопределенного предела времени ожидания, то прослушиватель событий будет очищен из цикла событий, и вместо этого будет сгенерировано событие времени ожидания.Это событие тайм-аута будет иметь альтернативного слушателя.Если событие обрабатывается нормально, то и прослушиватель тайм-аута, и прослушиватель событий очищаются от цикла событий.
Существует ли общий механизм для обработки тайм-аута и очистки процессов с тайм-аутом?Я знаю, что некоторые типы, такие как сокет, имеют параметр времени ожидания, но это не общий механизм, который применяется ко всем событиям.