let time = DispatchTime.now() + XXX/XXX
workItem = DispatchWorkItem.init(block: {
doSome()
})
DispatchQueue.main.asyncAfter(deadline: time, execute: workItem!)
time是局部变量,每次都会不一样
workItem.cancel()
work被重新创建,这样是取消不了的