我正在使用phidgets库通过nodejs与物理设备进行交互。我已经从身体上连接了一切,我要做的就是确保我的开/关时间确切。
这将是问题,因为我什至无法使事情适当地围绕SettiMout。
。本质上,我正在尝试执行以下操作:
for ( var i = 0; i < 4; i++ ) {
setTimeout( function(i){
console.log('Input: "' + i + '", Executed with timeout of ' + i*1000 + 'ms');
}(i), i*1000 );
};
但是我的控制台只是吐出以下内容,没有超时。这是瞬间的。
Input: "0", Executed with timeout of 0ms
Input: "1", Executed with timeout of 1000ms
Input: "2", Executed with timeout of 2000ms
Input: "3", Executed with timeout of 3000ms
这远非我想要的。
关于发生了什么的想法?
您由于 (i)
将其更改为
setTimeout( function(i){
console.log('Input: "' + i + '", Executed with timeout of ' + i*1000 + 'ms');
}, i*1000, i );
这样,您将功能"指针"传递给使用参数i
ps:时间值之后的所有参数 i*1000
将作为参数传递给您的回调函数