javascript - AJAX 重新加载间隔(轮询)帮助
问题描述
我有几个文件,我正在从中提取次要文本(最多一个单词),然后用另一个脚本对其进行样式化。
目前,它们按应有的方式加载和显示。但是,文本文件会随机更新,因此我希望重新加载它们,然后将后续脚本再次应用于它们。我尝试了不同的 setTimeout 和 setInterval 命令,但我认为问题在于我的放置或使用。经过几个小时的研究,我确定只是语法不合适。
这在本地运行,但通过一个像远程一样执行脚本的程序来拉取。(没有跨域问题)
这是一个示例片段,它提取文件并加载到后续脚本读取以显示的 html:
$(function follow_pull() {
$.ajax({
url : "most_recent_follower.txt",
dataType: "text",
success : function (data) {
$("#follow").append(data).serialize();
},
setTimeout(fuction(){
follow_pull()
}, 10000);
});
});
这是将这些文件加载到脚本中以显示的段:
$(window).ready(function ledload() {
var options = {
pixelSize: 5,
stepDelay: 62,
horizontalPixelsCount:650,
verticalPixelsCount:5,
pixelRatio: 0.8,
pathToPixelImage: 'ticker/pixel.png',
backgroundColor: '#000',
disabledPixelColor : '#020202',
enabledPixelColor: '#ff522b'
};
$('.canvasld, .crl').leddisplay($.extend(options, {pixelSize: 3}));
},
setTimeout(fuction(){
ledload()
}, 10000););
任何方向表示赞赏。如果需要,我可以发布整个文件,但我认为有人会得到我正在做的事情并且知道如何最好地指导我。
对于上下文,我正在使用一个脚本来获取文本,让它看起来像一个 LED 并像一个股票行情一样滚动。这被用于 Twitch 上的广播公司。
解决方案
首先,我会ledload()
退出$window.ready()
. 这样,它可以通过它的名字来引用。另外,我很确定您不需要$(...)
该函数的包装器follow_pull()
...
function ledload() {
var options = {
pixelSize: 5,
stepDelay: 62,
horizontalPixelsCount:650,
verticalPixelsCount:5,
pixelRatio: 0.8,
pathToPixelImage: 'ticker/pixel.png',
backgroundColor: '#000',
disabledPixelColor : '#020202',
enabledPixelColor: '#ff522b'
};
$('.canvasld, .crl').leddisplay($.extend(options, {pixelSize: 3}));
}
function follow_pull() {
$.ajax({
url : "most_recent_follower.txt",
dataType: "text",
success : function (data) {
$("#follow").append(data).serialize();
ledload();
setTimeout(function(){
follow_pull();
}, 10000);
}
});
};
follow_pull()
ledload()
成功获取数据时调用。然后它会设置一个 10 秒的延迟,然后再重新开始。
如果您仍然想ledload
在 上运行$(window).ready()
,您也可以添加这一行:
$(window).ready(ledload);
PS我不明白.serialize()
在做什么......这应该被传递到ledload()
吗?
推荐阅读
- javascript - 如何在 Math.pow(10, 10000000) 中获取整数
- azure - 如何将 JSON 对象数组转换为 Kusto 表?
- recaptcha - 谷歌建议的 recaptcha.net 在中国也不起作用
- javascript - 将 antd tree-select 下拉框渲染到左侧
- spring - 配置两个端口进行springboot集成测试
- visual-studio-code - VSCode 集成终端(fish)的 pwd 命令总是返回“/”
- macos - 是否可以仅使用 Xamarin Studio for MAC 开发 Xamarin Forms 应用程序?
- go - 如何使用 golang 提供角度服务?
- r - 从矩阵创建新列
- android - 主题订阅在新令牌上无效