Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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中,如何每5秒打印一个数组中的单个元素?_Javascript - Fatal编程技术网

在Javascript中,如何每5秒打印一个数组中的单个元素?

在Javascript中,如何每5秒打印一个数组中的单个元素?,javascript,Javascript,我有一个预先制作的类[Msg],它的方法是[.show()和.retrieve()]。方法“.show()”将消息作为无序列表中的最后一个列表项显示给浏览器。方法“.retrieve()”从服务器获取有限数量的消息。它将回调方法作为其唯一参数。它将传递一个字符串数组。数组中的每个字符串都包含一条消息。我有以下代码: JS: Msg.retrieve(function(array) { for (var i = 0; i < array.length; i++) {

我有一个预先制作的类[Msg],它的方法是[.show().retrieve()]。方法“.show()”将消息作为无序列表中的最后一个列表项显示给浏览器。方法“.retrieve()”从服务器获取有限数量的消息。它将回调方法作为其唯一参数。它将传递一个字符串数组。数组中的每个字符串都包含一条消息。我有以下代码:

JS:

 Msg.retrieve(function(array) {
      for (var i = 0; i < array.length; i++) {
           Msg.show(array[i]); 
      }
 });

 // The code outputs all the messages to the screen at once as a bunch of list items. 
Msg.retrieve(函数(数组){
对于(var i=0;i
如何每五秒钟输出一条消息?我不确定如何使用Javascript提供的setInterval()方法

非常感谢您的帮助。谢谢

var interval = setInterval(function() {
    Msg.show(array[i])
    i++
    if (i >= array.length) clearInterval(interval)
}, 5000)
setInterval
将函数和时间量作为参数

您还可以使用
clearInterval
清除间隔

setInterval
将函数和时间量作为参数


您还可以使用
clearInterval
清除间隔。

检索后,设置计时器并将数组一次移动一个值:

Msg.retrieve(function(array) {
     var timer = setInterval(function() {
         if(array.length) {
             Msg.show(array.shift()); 
         } else {
             // All messages displayed, array is empty
             clearInterval(timer);
         }
     }, 5000);
});

检索后,设置计时器并将数组一次移动一个值:

Msg.retrieve(function(array) {
     var timer = setInterval(function() {
         if(array.length) {
             Msg.show(array.shift()); 
         } else {
             // All messages displayed, array is empty
             clearInterval(timer);
         }
     }, 5000);
});
函数makeArrayPrinter(arr,delayMillis){
var i=0;
返回函数打印机(){
如果(i
函数makeArrayPrinter(arr,延迟毫秒){
var i=0;
返回函数打印机(){
如果(i
(请注意,为了将来的参考,与其编辑文章以更正打字错误,不如留下评论)(请注意,为了将来的参考,与其编辑文章以更正打字错误,不如留下评论)我将如何使用.retrieve方法获取数据?我想获取数据,然后逐个显示消息。提前谢谢@doorknob@leggooo我想你会做
var数组;Msg.retrieve(函数(a){array=a})
或类似的东西如何使用.retrieve方法获取数据?我想获取数据,然后逐个显示消息。提前谢谢@doorknob@leggooo我想你会做
var数组;Msg.retrieve(function(a){array=a})
或类似的东西stack社区给我的其他答案帮助我更好地理解如何使用它,但是你的答案非常适合我需要的问题。谢谢@bfavaretto!修正了代码,在我有机会看到之前,你的编辑被拒绝了。如果您在我的回答中还有任何关于代码的问题,请随时提问,我很乐意帮助您!stack社区给我的其他答案帮助我更好地理解如何使用它,但是你的答案非常适合我需要的问题。谢谢@bfavaretto!修正了代码,在我有机会看到之前,你的编辑被拒绝了。如果您在我的回答中还有任何关于代码的问题,请随时提问,我很乐意帮助您!