异步函数中的event.preventDefault

Dan*_*err 4 javascript async-await

是否可以在异步函数中使用event.preventDefault?

我不确定因为必须同步调用event.preventDefault并且异步函数返回promises.

self.oncontextmenu = async function(event) {
 event.preventDefault()
 //await whatever
}
Run Code Online (Sandbox Code Playgroud)

Ber*_*rgi 9

是的,这是完全可以调用preventDefault()async事件处理程序function.您只需要确保在第一个之前进行调用await,否则事件已经在函数恢复时发生.事件流将继续,而不是等待事件处理程序返回的承诺.

  • @RonInbar根据您试图阻止的事件,您可能总是调用“preventDefault()”(因为默认操作现在不应该发生),显示您的异步模式,当用户确认时(通过不同的事件) )可以直接触发原来的动作。 (2认同)