我写的代码看起来像这样:如何使用事件驱动模型“继续尝试,直到它工作”?
function someFunction()
{
doStuffWithCallback(function(success)
{
if(success)
{
...
// do stuff here
...
}
else
someFunction();
});
}
基本上,不断尝试“doStuffWithCallback”,直到回调接收了绿灯。一般来说,这将通过一个循环来完成,但是如何在事件驱动的模型中做到这一点,而不会在成功永远达不到成功的情况下导致无限递归? (success
可能依赖于诸如外部服务器之类的东西,所以如果它们停止运行,它将一直是错误的)。
代码的结构不能改变太多;由于我使用的API,我必须使用回调来完成我想要的功能。
它应该尝试多少次才能停止..? – amosrivera
它应该继续尝试,直到用户停止。 – bfops