You could either do it with a callback function, or using async
await
to wait a specific key is pressed:
const keyIsPressed = target => new Promise(resolve => {
document.body.addEventListener('keyup', ({ key }) => {
if(key.toUpperCase() === target.toUpperCase()) {
resolve();
}
}, { once: true });
});
async function start() {
console.log('Waiting for user to press enter...');
// pause here until enter is pressed
await keyIsPressed('enter');
console.log('Enter is pressed.');
}
start();
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…