我从服务器收到一个类似这样的 json 对象:
{1000: "Paragraph 1",
2000: "Paragraph 2",
2500: "Paragraph 3",
...
11500: "Paragraph 20",}
我的任务是依次显示这些行:1 秒内显示第一行,2 秒内显示第二行,2.5 秒内显示第三行,等等。
我当然可以生成一系列setTimeout
,但我想知道是否有更有效的方法来做到这一点?
最佳答案
到目前为止,没有一个答案注意到 OP 声称他不想创建多个 setTimeout
或 setInterval
。
我们真的可以创建一个 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/