我有一个功能如下:
function foo(args1, args2, retry)
{
if (retry <= 0)
return false;
var isDone = callAnotherFunction(args1, args2);
if(!isDone) {
setInterval(function () {
foo(args1, args2, retry-1);
},
2000);
}
else
return true;
}
Run Code Online (Sandbox Code Playgroud)
所以我不确定上面的实现是否正确。但是我需要在另一个函数中使用这个函数。并在 if 块中使用上述函数来决定是否需要执行其他语句。下面是上述函数的用法。
function useIt(args1, args2)
{
// Other code
let store = function() {
if(!foo(args1, args2, 5)) {
cleanStorage(args1, args2);
return;
}
}
Run Code Online (Sandbox Code Playgroud)
所以问题出在函数上useIt(),如果我使用or ,cleanStorage()则不会等待foo()执行。那么我需要如何实现这个功能呢?请帮助我。setIntervalsetTimeOutfoo()