Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 循环节点中的设置间隔_Javascript_Node.js_Loops - Fatal编程技术网

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时,我脑海中就会响起警铃。。。