是否可以在異步函數中使用event.preventDefault?異步函數中的event.preventDefault
我不確定,因爲必須同步調用event.preventDefault,並且異步函數返回承諾。
self.oncontextmenu = async function(event) {
event.preventDefault()
//await whatever
}
是否可以在異步函數中使用event.preventDefault?異步函數中的event.preventDefault
我不確定,因爲必須同步調用event.preventDefault,並且異步函數返回承諾。
self.oncontextmenu = async function(event) {
event.preventDefault()
//await whatever
}
是的,這是完全可以調用preventDefault()
在async
事件處理程序function
。您只需確保在第一個await
之前撥打電話,否則事件在功能恢復時已經發生。事件流將繼續,而不是等待事件處理程序返回的承諾。
(有[[ExtendableEvent](https://developer.mozilla.org/en-US/docs/Web/API/ExtendableEvent)s「的實驗可以等待* some *承諾,但他們不是DOM事件,他們不需要對'async函數'做任何事情) – Bergi
您不能使用'preventDefault'異步,因爲事件處理是完全同步的。 (類似的問題:[與e.preventDefault()問題)(http://stackoverflow.com/questions/6100826)) –
也許你應該給你一個更具體的例子,你正在嘗試做什麼。我不確定我是否理解你的目標,我有一種印象是你在混合一些東西。還承諾和異步是兩個不同的東西(雖然相關) – Pevara