Im currently writing the psychological test, which I will use to test people's abilities.
I'm looking for solution. User has to make an input in 1s, otherwise the question should be skipped.
Function:
return new Promise((resolve) => {
document.addEventListener("keydown", (event) => {
if (event.key === "a") {
resolve(true);
}
});
});
}
In general I tried few approaches and failed.
Edit: Based on majusebetter answer I implement setTimeout. Code:
async function waitForClue() {
return new Promise((resolve) => {
const waitForAnswer = () =>
setTimeout(() => {
resolve("no answer");
clearTimeout(waitForAnswer);
}, 1000);
waitForAnswer();
document.addEventListener("keydown", (event) => {
if (event.key === "a") {
resolve(true);
}
});
});
}