how to slow down the output of a list using setTimeout inside of JS function(如何在JS函数中使用setTimeout降低列表的输出速度)
本文介绍了如何在JS函数中使用setTimeout降低列表的输出速度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
该程序将输出数组中包含的5个元素的4个元素的组合。但它会立即这样做,我希望它能更慢地这样做,每行后等待1秒。 我已经尝试了很多方法来添加setTimeout(Function()Content,1000*i)它对我不起作用,相关问题也无法解决。有谁可以帮助解决方案吗? 数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
const vegetables = ["carrot", "tomatoes", "potatoes", "celery", "pepper"];
const three = [];
three.length = 4;
function combine(a, b, c) {
if (b === 0) {
console.log(`${three.join(" ")}`);
return;
}
for (let i = c; i <= a.length - b; i++) {
three[three.length - b] = a[i];
combine(a, b - 1, i + 1);
}
}
combine(vegetables, three.length, 0);
推荐答案
您可以尝试这样的操作:
数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">const vegetables = ["carrot", "tomatoes", "potatoes", "celery", "pepper"];
const three = [];
const combined = [];
three.length = 4;
function sleep(ms) {
return new Promise(function (resolve) {
setTimeout(resolve, ms);
});
}
function combine(a, b, c) {
if (b === 0) {
combined.push(`${three.join(" ")}`);
return;
}
for (let i = c; i <= a.length - b; i++) {
three[three.length - b] = a[i];
combine(a, b - 1, i + 1);
}
}
(async function main() {
console.log('started');
combine(vegetables, three.length, 0);
for (const entry of combined) {
console.log(entry);
await sleep(1000);
}
})();
这篇关于如何在JS函数中使用setTimeout降低列表的输出速度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何在JS函数中使用setTimeout降低列表的输出速度
基础教程推荐
猜你喜欢
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 我什么时候应该在导入时使用方括号 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 动态更新多个选择框 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01