如何让双击事件不会激活单击事件函数

在dataviewjs里,下面的代码:

buttoncut.onclick = handlecut;
buttoncut.ondblclick = handle2cut;

双击buttoncut时,handlecut执行了2次,handle2cut执行一次。如何才能不执行handlecut?

一般是用一个定时器,和一个状态,来判断是单击还是双击,类似这个例子:

代码引过来:

const button = document.getElementById('button')
let timer
button.addEventListener('click', event => {
  if (event.detail === 1) {
    timer = setTimeout(() => {
      console.log('click')
    }, 200)
  }
})
button.addEventListener('dblclick', event => {
  clearTimeout(timer)
  console.log('dblclick')
})

我在windows里,要把200改为300,才能正常识别单双击。安卓也有效。

BTW:
async 要添加在哪? 事件处理要执行await操作。