Я новичок, очень, очень новичок в JS. Я даже не знаю основ, но мне просто нужна помощь с быстрым коротким сценарием.
Предполагается, что это будет простой скрипт, который рассылает ключ с помощью Tampermonkey.
Вот что у меня есть на данный момент:
// ==UserScript==
// @match *://diep.io/*
// @grant none
// ==/UserScript==
(function() {
function f(e){
var a = new KeyboardEvent("keydown", {
bubbles: true,
cancelable: true,
shiftKey: false
});
delete a.keyCode;
Object.defineProperty(a, "keyCode", {
"value": 220
});
dispatchEvent(a);
}
function a(e) {
addEventListener(e, f);
}
for(var i of ["focus", "blur", "keyup"]) {
a(i);
}
}());
Вместо того, чтобы нажимать код 220 несколько раз, он удерживает ее. Можете ли вы исправить это, чтобы ключ «спамили» в быстром темпе?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Можно использовать setInterval, как по мне. Посмотри на это:
const mySpammer = function() {
console.info("Spammed!");
}
setInterval(mySpammer(), 100);
Это встроенный метод JavaScript, он также асинхронный. Таким образом, ваш код Javascript не будет заблокирован во время выполнения. Но это не все, это эксклюзив. Первый вызов происходит через 100 мс (в моем примере), поэтому вы можете вызвать себе в первый раз, например:
mySpammer();
setInterval(mySpammer(), 100);
Он будет вызывать, когда код входит в mySpammer(), после того, как setInterval сработает через 100 мс. Надеюсь, это сработает.
@ DavidtheGoat123 Где ты хочешь заняться. Просто поместите свою функцию, которая является функцией закрытия, и сохраните ее в переменной. После этого вызовите вашу функцию без setInterval. После ручного вызова нужно вызвать с setInterval. Схема вашего кода выглядит так. Попробуй сделать это. Вы не можете, я здесь, попробуйте изучить мой пример.
куда мне добавить эту часть скрипта в