在Javascript中,如何每5秒打印一个数组中的单个元素?
我有一个预先制作的类[Msg],它的方法是[.show()和.retrieve()]。方法“.show()”将消息作为无序列表中的最后一个列表项显示给浏览器。方法“.retrieve()”从服务器获取有限数量的消息。它将回调方法作为其唯一参数。它将传递一个字符串数组。数组中的每个字符串都包含一条消息。我有以下代码: JS:在Javascript中,如何每5秒打印一个数组中的单个元素?,javascript,Javascript,我有一个预先制作的类[Msg],它的方法是[.show()和.retrieve()]。方法“.show()”将消息作为无序列表中的最后一个列表项显示给浏览器。方法“.retrieve()”从服务器获取有限数量的消息。它将回调方法作为其唯一参数。它将传递一个字符串数组。数组中的每个字符串都包含一条消息。我有以下代码: JS: Msg.retrieve(function(array) { for (var i = 0; i < array.length; i++) {
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!修正了代码,在我有机会看到之前,你的编辑被拒绝了。如果您在我的回答中还有任何关于代码的问题,请随时提问,我很乐意帮助您!