小编Suh*_*rni的帖子

如何使用 setInterval 或 setTimeOut 同步执行?

我有一个功能如下:

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()

javascript settimeout setinterval node.js promise

1
推荐指数
2
解决办法
4233
查看次数

标签 统计

javascript ×1

node.js ×1

promise ×1

setinterval ×1

settimeout ×1