我在 cancel 之后编写了以下代码进行测试。此代码应该只打印一次“现在更新”,但它打印了 10 次,所以任何人都可以告诉我为什么取消后不起作用
proc update_now {} {
puts "Now updating"
}
proc print_now {} {
after cancel [update_now]
after idle [update_now]
}
for {set count 0} {$count < 5} {incr count} {
print_now
}