Корпус: пользователь покупает авиабилет из Американской авиакомпании на моем веб-сайте. Для обработки заказа требуется час, после чего мне нужно отобразить вкладку навигации.Загрузить данные без жесткого обновления
Вопрос: Я не хочу, чтобы пользователь обновлял страницу для загрузки данных. Есть ли что-то, что может вызвать вызов API через час после покупки билета пользователя?
Я использую AngularJS, Express, NodeJS.
Update:
Я думал об использовании SetTimeout (Fn, задержка), чтобы инициализировать таймер, а затем использовать clearInterval (ID), чтобы закрыть его после запроса успеха. Однако браузер выполняет один асинхронный поток, поэтому задержка таймера не гарантируется. Кроме того:
- Если пользователь поставил компьютер в спящий режим, setTimeout замерзнет.
- Если пользовательский переключатель включен, функция setTimeout становится неточной.
- Поведение setTimeout может отличаться в разных браузерах.
Я также рассматриваю узел-cron, но мне все равно нужно сделать вызов узла автоматически, так как контроллер навигации загружается при запуске приложения. Это означает, что пользователю по-прежнему приходится выполнять жесткое обновление, чтобы увидеть вкладку навигации.
Есть ли способ использовать кеш браузера для этого?
Вы можете использовать функцию JavaScript setTimeout. Но есть хороший шанс, что ваш пользователь собирается закрыть браузер до часа прохода в любом случае. – Jesse