你如何在完成执行(javascript)后无限调用函数?

时间:2018-04-28 19:06:48

标签: javascript node.js

所以,如果我做了一个功能

function start(callback) {
  //do stuff
  callback()
}

如何一遍又一遍地重复此功能?

5 个答案:

答案 0 :(得分:1)

你可以通过interval来完成。在这个例子中,函数get每100毫秒执行一次。



setInterval(function() {
  console.log("Stuff");
}, 100);




或者你叫它一次让它自己调用。 (没有让它可执行,网站会崩溃。)

function doStuff() {
  console.log("Stuff");
  doStuff();
}

while循环也可以做到。 (这里也是。)

function doStuff() {
  console.log("Stuff");
}

while (true) {
  doStuff();
}

答案 1 :(得分:0)

您可以使用while statement true作为条件部分。

function start(callback) {
    //do stuff
    while (true) {
        callback();
    }
}

答案 2 :(得分:0)

一个简单的包装器:

function wrapper() {
  start(wrapper);
}

wrapper();

但是有一个问题 - 如果你的启动函数没有破坏callstack(有任何IO),那么这种方法最终会溢出callstack。

更安全的一个:

function wrapper() {
  setTimeout(() =>{start(wrapper)}, 0);
}

wrapper();

答案 3 :(得分:0)

你也可以使用SetInterval,但Nina Scholz的回答更好。 SetInterval示例:

setInterval(function () {
        for (var i = 0; i < positionList.length; i++) {
            if (i != 19)
                if (posList[19].left == posList[i].left && posList[19].top == posList[i].top) {

                    window.location.reload();
                }
        }
    }, 200)

每200毫秒调用此函数。

答案 4 :(得分:0)

setInterval(
   function(){ 
     alert("Hello"); 
   },2000
);

使用setInterval方法,它将每2秒回调一次你的函数