Таймер запускается нормально, но выполнение лямбды завершается до его разрешения - все, что не упаковано в возвращенное обещание, игнорируется.
Во втором случае возвращается Обещание, и поскольку вся функция-обработчик объявляется как async
, которая всегда упаковывает свой результат в Обещание, возвращаемый результат Обещания выравнивается и возвращается правильно.