javascript中的线程(或类似的东西)

前端之家收集整理的这篇文章主要介绍了javascript中的线程(或类似的东西)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我需要让一段代码始终独立于其他代码运行.有没有办法在javascript中创建一个线程来运行这个功能

– 为什么setTimeout对我不起作用

我尝试过,但它只运行一次.如果我以递归方式调用函数,它会在一段时间后抛出“过多的递归”错误.我需要每100毫秒运行一次(这是与嵌入式系统的通信).

– 如你所知,这里有一些代码

function update(v2) {
     // I removed the use of v2 here for simplicity
     dump("update\n"); // this will just print the string
     setTimeout(new function() { update(v2); },100); // this try doesn't work
}
update(this.v);

它抛出“过多的递归”.

最佳答案
摆脱你传递给setTimeout()函数的新关键字,它应该工作.

function update(v2) {
 try {
     dump("update\n");
 } catch(err) {
     dump("Fail to update " + err + "\n");
 }
 setTimeout(function() { update(v2); },100);
}
update(this.v);

或者只使用setInterval().

function update(v2) {
 try {
     dump("update\n");
 } catch(err) {
     dump("Fail to update " + err + "\n");
 }
}
var this_v = this.v;
setInterval(function() {update(this_v);},100);

编辑:在变量中引用this.v,因为我不知道你的应用程序的价值是多少.

猜你在找的JavaScript相关文章