Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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 使用setInterval函数时出现问题_Javascript_Setinterval - Fatal编程技术网

Javascript 使用setInterval函数时出现问题

Javascript 使用setInterval函数时出现问题,javascript,setinterval,Javascript,Setinterval,我在让下面的东西工作时遇到了一些麻烦。我正在尝试运行这个名为Chat.fetch的异步函数,我可以得到它返回的消息,以便正确显示。当我尝试通过setInterval时,它会返回一次聊天信息,但不会每3秒钟刷新一次,这就是我要做的。任何方向都会很棒。谢谢 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://chatbuilder.ha

我在让下面的东西工作时遇到了一些麻烦。我正在尝试运行这个名为Chat.fetch的异步函数,我可以得到它返回的消息,以便正确显示。当我尝试通过setInterval时,它会返回一次聊天信息,但不会每3秒钟刷新一次,这就是我要做的。任何方向都会很棒。谢谢

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
   <script src="http://chatbuilder.hackreactor.com/ChatBuilder.js"></script>
  </head>
    <body>
      <script>
         Chat.guide.start();
      </script>


  <h2>Borken Chat</h2>

  <input class="draft" type="text"/> <button class="send" disabled>send</button>



  <ul class="messages">


     PrintChat=function(Chat_Messages){
       var y=Chat_Messages.length;
       for(i=0;i<y;i++){
         Chat.display(Chat_Messages[i]);
       }
     }

   PrintMessages=Chat.fetch(PrintChat);
   setInterval(PrintMessages,3000);


  </script>

</ul>

Chat.guide.start();
博肯聊天
发送
    PrintChat=功能(聊天信息){ var y=聊天信息长度; 对于(i=0;i试试这个:

    function fetchNew() {
     var PrintChat=function(Chat_Messages){
       var y=Chat_Messages.length;
       for(i=0;i<y;i++){
         Chat.display(Chat_Messages[i]);
       }
     }
     Chat.fetch(PrintChat);
    }
    
    setInterval(fetchNew,3000);
    
    函数fetchNew(){ var PrintChat=功能(聊天信息){ var y=聊天信息长度;
    对于(i=0;ii如果它是异步的,您应该等待它(而不是每3秒随机启动一次显示功能)?查看他们的文档。有什么指示吗?我丢失了一个开始的
    标记,一些html和正文的结束标记,还有一个doctype声明和
    元素。它在代码中,只是在复制粘贴时忘记了。抱歉。说明是使用setTimeout或setInterval来刷新服务器上的消息3秒钟。你用的是哪种脚本?请链接到它的文档/主页。嘿,谢谢你,它可以工作!所以诀窍就是把结果作为变量嵌入函数中,然后以这种方式运行setInterval?关键思想是setInterval的第一个参数必须是一个实际的函数。在你的原始代码中,我们给它的结果是评估一个函数。因此,我刚刚创建了一个新函数,它实现了您想要的功能,即“调用Chat.fetch,传递Chat.fetch,将PrintChat函数作为参数。”因此Chat.fetch本身也将函数作为参数,就像setInterval一样,尽管它们当然是不同的函数。