мне необходимо совершить действие (показать уведомление например) в какое-то указанное время.
Как это сделать? Неужели вешать "setInterval" на все приложение и чекать время каждую секунду в фоне?
используй reactive time например из VueUse
https://vueuse.org/core/useNow/
а там не serInterval что ли?
хз что там под капотом
ты посоветовал то, что не подходит и что намного сложней простого setInterval
покажи именно как бы ты сделал на VueUse
composable бы сделал, которая реактивное время принимает и время срабатывания, и каллбек
А как использовать useNow для решения моей задачи? const now = useNow() В компоненте использовать watch и при каждом изменении "now" делать проверку-сравнение с нужным мне временем? А если мне необходима эта логика вне компонента Vue, например в Pinia сторе?
там написано как использовать вне компонента. но вообще тут говорят что этот метод беспантовый. так что я даже хз, что сказать. давай для начала уточним, это должно работать при выключенном интернете тоже? если сеть теряется, сообщение все равно должно выскакивать?
Да, нужно уведомление, которое отображается через фиксированное время(15 мин) после некоторого событияю. Без привязки к api
ты Vue используешь 2 или 3?
А в чем проблема использовать settimeout после события?
если юзверь перезагрузит страницу?
Ничего не будет
Vue 3 + Pinia
ну вот, пиния тут как раз и нужна, только в сторе чтоб хранила, а не в памяти
settimeout имеет свой-во "останавливаться", если пользователь покинул надолго вкладку. Вкладка уходит в спящий режим.
Регай вебворкер и нем вызывай функцию, не заснет вкладка
Опиши чуть подробнее, плз
Ну тут надо гуглить
Обсуждают сегодня