The useInterval() composable is similar in scope with the native setInterval(), with some key differences. The composable takes care of “cancelling” the interval if your component gets destroyed and you can also override the executing Function while it’s running.
Syntax
import { useInterval } from 'quasar'
setup () {
const {
registerInterval,
removeInterval
} = useInterval()
// ...
}content_paste
function useInterval(): {
registerInterval(fn: () => void, interval: string | number): void;
removeInterval(): void;
};content_paste
Example
import { useInterval } from 'quasar'
setup () {
const { registerInterval } = useInterval()
function onSomeEvent (param) {
registerInterval(() => {
console.log('param is', param)
}, 2000) // every 2 seconds
}
// ...
// You can call onSomeEvent() multiple
// times in a row and only the last
// registered Function will run when it
// is time for it
// Note that the interval is reset each
// time you register/override it
}content_paste
Should you need more than one useInterval() per component, simply rename the functions of the returned object:
const {
registerInterval: registerFirstInterval,
removeInterval: removeFirstInterval
} = useInterval()
const {
registerInterval: registerSecondInterval,
removeInterval: removeSecondInterval
} = useInterval()content_paste