Javascript 循环节点中的设置间隔
我知道还有其他类似的问题,但我的代码似乎不起作用。 你能看看我的密码,告诉我哪里错了吗Javascript 循环节点中的设置间隔,javascript,node.js,loops,Javascript,Node.js,Loops,我知道还有其他类似的问题,但我的代码似乎不起作用。 你能看看我的密码,告诉我哪里错了吗 var mysql = require('mysql'); var client = mysql.createClient({ user: 'jed', password: 'jed8703', host: 'localhost', database: 'jedtest' }); //var query = client.query( // 'INSERT INTO testtable
var mysql = require('mysql');
var client = mysql.createClient({
user: 'jed',
password: 'jed8703',
host: 'localhost',
database: 'jedtest'
});
//var query = client.query(
// 'INSERT INTO testtable '+
// 'SET testid = ?, name = ?, value = ?',
// [1, 'test', 'test']
//);
client.query(
'SELECT * FROM testtable',
function selectCb(err, results, fields) {
if (err) {
throw err;
}
console.log(results[0].Name);
for(var i in results)
{
(function(y)
{
setInterval(function() {
console.log(results[y].Name + 'value:' + results[y].Value );
}, 5000 );
})
}
}
);
client.end();
不要忘记调用函数:
(function(y)
{
setInterval(function() {
console.log(results[y].Name + 'value:' + results[y].Value );
}, 5000 );
})(i); // <------- Added (i);
请注意,您的延迟可能没有达到预期效果。当前,您将在5秒后执行所有方法。如果希望每次调用之间有5秒的延迟,请创建一个队列。不要忘记调用函数:
(function(y)
{
setInterval(function() {
console.log(results[y].Name + 'value:' + results[y].Value );
}, 5000 );
})(i); // <------- Added (i);
请注意,您的延迟可能没有达到预期效果。当前,您将在5秒后执行所有方法。如果您希望每次呼叫之间有5秒的延迟,请创建一个队列。如果您没有完全填充y变量,请尝试替换:
(function(y)
{
setInterval(function() {
console.log(results[y].Name + 'value:' + results[y].Value );
}, 5000 );
})
与:
您没有完全填充y变量,请尝试替换:
(function(y)
{
setInterval(function() {
console.log(results[y].Name + 'value:' + results[y].Value );
}, 5000 );
})
与:
创建x个间隔似乎不是一个好的设计,而且这些间隔将同时执行。我认为到目前为止,关于为什么它不起作用的答案是正确的,但是为什么首先要使用setInterval呢?每当我看到从循环内部调用setInterval时,我的脑海中就会响起警钟……创建x个间隔并同时执行这些间隔似乎不是一个好的设计。我认为目前为止的答案是正确的,为什么它不起作用,但为什么你首先要使用setInterval?每当我看到从循环内部调用setInterval时,我脑海中就会响起警铃。。。