Как мне сделать так, чтобы метод вызывался с задержкой?

Ребят, подскажите как решить проблему. Мне нужно чтобы этот метод вызывался только через 2 секунды, и вызовы не ставились в очередь после каждого нажатого раза на ручку которая дергает запрос. Пытался сделать через setTimeout, но все равно запросы ставятся в очередь. Т.е. нужно чтобы после того как была нажата кнопка прошло время и вывелся результат, и если человек еще раз нажмет кнопку то, только через 2 секунды был бы следующий вызов, но запросы не ставились бы в очередь, а был всего один. Надеюсь я более менее объяснил. Я читал, что можно сделать через debounce, но не понимаю как мне тогда построить логику..

async getStatisctics_actions({ commit }) {
                try {
                    const url = '/recStructs'
                    const options = {
                        params: {
                            currency: this.state.underlying, 
                            maturity: this.state.maturity, 
                            amount: this.state.amount, 
                            fut_hedge_flag: this.state.futHedgeFlag
                        }
                    }
                    const response = await axios.get(url, options)
                    commit('setFullData_mutations', response.data.data) // Получаем все графики
                } catch (error) {
                    return error
                }
            },

Ответы (0 шт):