我正在编写如下所示的代码:
function someFunction()
{
doStuffWithCallback(function(success)
{
if(success)
{
...
// do stuff here
...
}
else
someFunction();
});
}
基本上,继续尝试“doStuffWithCallback”,直到回调收到绿灯。通常,这将通过一个循环来完成,但是如果从未达到成功,我如何使用事件驱动模型来做到这一点而不会导致无限递归?(success
可能依赖于外部服务器之类的东西,所以如果它们出现故障,它将一直是错误的)。
代码的结构不能改变太多;由于我使用的 API,我必须使用回调来完成我想要的。