我知道标题并不是很清楚,但如果不写完整个问题,我就无法正确解释。
我有3个函数,为简单起见,我们说它们是()b()和c(),我需要做的是只在a()和b()之后运行c() ,通常我可以简单地做这样的事情
function a()
--code--
a_is_done = true
c()
end
function b()
--code--
b_is_done = true
c()
end
function c()
if a_is_done and b_is_done then
--code---
a_is_done = false
b_is_done = false
end
end
然而有些情况下可能根本不会调用a()或b()但我仍然需要c()发生,因为a()和b()是来自其他代码的回调我永远无法知道它们都在发生与否,按顺序排列,我该如何处理呢?