javascript - 在 JSON 中创建一系列超时的最有效方法是什么?

标签 javascript json

我从服务器收到一个类似这样的 json 对象:

{1000: "Paragraph 1",
2000: "Paragraph 2",
2500: "Paragraph 3",
...
11500: "Paragraph 20",}

我的任务是依次显示这些行:1 秒内显示第一行,2 秒内显示第二行,2.5 秒内显示第三行,等等。

我当然可以生成一系列setTimeout,但我想知道是否有更有效的方法来做到这一点?

最佳答案

到目前为止,没有一个答案注意到 OP 声称他不想创建多个 setTimeoutsetInterval

我们真的可以创建一个 setInterval 并让它按时间间隔遍历 JSON。

var data = {
  1000: "Paragraph 1",
  2000: "Paragraph 2",
  2500: "Paragraph 3",
  5000 : "Paragraph 5",
  11500: "Paragraph 20"
};

var keys = Object.keys(data);
var i = 0;

var handle = setInterval(()=> {

   console.log(data[keys[i++]]);

   if (i === keys.length)
     clearInterval(handle)

}, 250);

关于javascript - 在 JSON 中创建一系列超时的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55049605/

相关文章:

javascript - 在Javascript中的句子(多个句子)的第一个和最后一个单词中添加方括号

javascript - 在 if 语句中用数组数据填充一个 div

javascript - 按降序排列数字,不带 0

java - 我如何通过Gmap中的javaScript获取Marker id

javascript - JSON 与 '-' 在 Angular js 的关键阅读

javascript - 如何为动态宽度内容设置动画?

c# - 在 C# 中反序列化 JSON 数组(或列表)

json - 如何使用 Apache NiFi 在拆分 JSON 后检索属性并在 invokeHttp 处理器中递归使用这些属性?

javascript - 将动态嵌套 JSON 解析为 HTML 表

javascript - 如何从 ember.js 中的 .json 文件中检索模型