setTimeout в смонтированном крюке не работает, если задержка превышает 57000 мс (57 сек)

#vue.js #settimeout #delay

Вопрос:

Я пытаюсь выйти из системы пользователя через 10 минут, поэтому я делаю следующее на своей странице Member.vue (макет) :

 <scrip>
import { mapActions } from "vuex";

export default {
  data: () => ({}),

  methods: {
    ...mapActions("authentication", ["logout"]),
  },

  mounted() {
    setTimeout(this.logout, 60*1000*10);
  },
};
</script>
 

но logout функция не выполняется через 10 минут.
Если я помещу задержку больше 57000 (57 секунд), функция никогда не будет выполнена.

Комментарии:

1. Вероятно, это не лучший подход, промежуточное программное обеспечение с файлом cookie с отметкой времени истечения срока действия должно быть лучше. Тем не менее, вы пытались оставаться на этом компоненте, ни к чему не прикасаясь, и logout это работает для 56-х, но не для 58-х?

2. Да, не касаясь ничего на одном и том же компоненте, он работает для 56-х, но не для 58-х.

3. Очень странно… Вы уверены, что на вашей странице больше ничего не загружено? Вы обновляли во время тестирования, чтобы удалить прошлых наблюдателей?

4. @Cart Можете ли вы поделиться ссылкой на минимальный воспроизводимый пример?

5. Ладно, ребята, я вызывал функцию не в том месте. Цель состоит в том, чтобы отключить пользователя через 10 минут, поэтому я ввел «setTimeout()» в свою функцию входа (после успеха), и теперь все в порядке. Спасибо всем.