angular - 长时间延迟后的角度 setInterval 接收值
问题描述
我正在开发一个项目,我需要检查 json 文件中的更改。我已将其实现为:
import { Subscription } from 'rxjs';
import { HttpClient } from "@angular/common/http";
保存数据的变量声明为:
var data4:any = [];
var flag2:boolean = false;
在出口类部分
ngOnInit()
{
setInterval(()=>
{
this.httpClient.get("../../assets/data/abc.json").subscribe(data3 =>
{
if((JSON.stringify(data3) != JSON.stringify(data4) && flag2))
{
this.loadData(60); /**/
}
else
{
flag2 = true;
}
data4 = data3;
})
},10)
}
代码很大,所以我只粘贴了相关部分。
当我更改 json 文件中的值时,loadData 函数确实会执行,但只是在一段时间之后。
我能做些什么来消除或减少这种滞后吗?
请指导
解决方案
我能做些什么来消除或减少这种滞后吗?
我们需要更多信息来回答这个问题。首先,您必须了解延迟是由于 http 调用造成的。如何缩短响应时间?好吧,你必须向我们展示这个调用的服务器端发生了什么:
this.httpClient.get("../../assets/data/abc.json")
您是该端点的所有者吗?
其次,您每 10 毫秒触发一次 http 请求。这对于 http 请求来说太快了,您基本上每秒执行 100 个请求,我认为 http 不是为此而设计的增加通话之间的延迟。
推荐阅读
- swift - swift4中控制彩票动画进度的代码不起作用
- laravel - Laravel Slug 更新记录
- javascript - 1234.1234,123.12,0100.111,XXXX.XXXX 的 Java 脚本正则表达式
- sql - Redshift - 在 where 子句中将 UTC 时间转换为本地时间时出错
- vba - 从 xmlhttp.responseText 获取数据到 excel
- node.js - 如何使用 bitcore-lib (NodeJs) 获得交易的最低费用?
- jcreator - 初学者在格式字符串上的挣扎
- c++ - 如何使用谷歌测试用例测试迭代器值?
- sql-server - SSMS 中数据库名称后的 (Synchronized) 是什么意思。
- android - PC usb主机通过libusb与Android配件模式通信