javascript - 如何在最后一个值之后循环这个函数

标签 javascript

var board = new DepartureBoard(document.getElementById('test'), {
     rowCount: 1,
     letterCount: 13
 });

window.setTimeout(function() {
    board.setValue(['VISA SERVICES', ]);
}, 0)
window.setTimeout(function() {
    board.setValue(['POE CLEARENCE', ]);
}, 8000);
window.setTimeout(function() {
    board.setValue(['STAMPING', ]);
}, 16000);
window.setTimeout(function() {
    board.setValue(['ATTESTATION', ]);
}, 24000);
window.setTimeout(function() {
    board.setValue(['INSURANCE', ]);
}, 32000);
window.setTimeout(function() {
    board.setValue(['FOREX', ]);
}, 40000);

https://codepen.io/Mtn_Wolf/pen/LKsvz

我正在尝试像机场起飞一样,但我无法在我的网站上显示的最后一个值之后循环该值以向服务显示我如何在最后一个显示的内容之后循环该值

最佳答案

在现代 ECMAScript 中使用直接超时不是好的模式,不仅仅是因为“现代方法”,还因为更好的链接和错误处理

function delay(time) { return new Promise(resolve => setTimeout(resolve, time) }
function worker() {
    return Promise.resolve()
        .then(() => board.setValue(['VISA SERVICES']))
        .then(() => delay(1000))
       // and so on
        .then(worker);
}

worker().catch((error) => {
    // Error handling here
})

关于javascript - 如何在最后一个值之后循环这个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45343102/

相关文章:

javascript - 将文本 block 添加到 div 并设置宽度

javascript - 显示/隐藏切换不适用于数据库输出的选择名称

javascript - 带有身份验证登录页面的 angular2 应用程序

javascript - (ReactJs) 如何在另一个组件中包含多个组件?

javascript - 使用 javascript/jquery 更改 url 并使用新 url 重新加载页面

javascript - 在服务器 AWS 中加载图像时出错

javascript - 如何将 "null"值发送到需要函数作为参数的函数

javascript - 使用 Jasmine 和 Karma 进行 Angular Testing - 对于延迟加载的组件,路由器导出错误和组件创建测试失败

javascript - 在三个js中如何创建半径增加但通过相同点的球体说(0,0,200)

javascript - 我无法将 html 表格导出为 Excel xls 格式