Angular 2 “实时”更新对象。
Angular 2 Updating objects in “real time.”
嗨,我想总结一下如何更新 table angular 2.
这是我的资料:
后端:express / MongoDB。更新通过外部应用程序输入数据库
数据:90% 的数据将是静态的。每秒更新 10% 的数据。
我看过 Observables / promises。 HTTP 请求/套接字 IO 但我无法理解这些概念。
主要问题:我可以使用带有 socket.io 的可观察对象来更新记录吗?
关于数据更新的其他问题
- Angular 2的Observables – observables是不是只有在客户端拉取数据的时候才会用到?或者当数据被推送到客户端时,你可以将它与套接字一起使用吗? (所有在线示例都使用 observables 和 http 请求)
- 您可以使用 Socket IO 更新对象还是仅用于新对象?每个示例都是一个聊天应用程序。
- 使用http请求时如何设置请求数据的频率? (一些在线示例使用循环,但这似乎是错误的。)
Observables 是基于事件的,因此它们可用于从利用网络套接字的服务器接收事件。看看这篇文章(第 "Event-based support" 节):
实际上它是新对象,但您可以利用 scan
运算符来聚合多个事件的内容。
var obs = (...)
obs.startWith([])
.scan((acc,value) => acc.concat(value))
.subscribe((data) => {
console.log(data);
});
有关详细信息,请参阅此问题:
如果你想拉一个时间间隔,你可以利用interval
方法:
Observable.interval(3000).flatMap(() => {
return this.http.get('/some-request').map(res => res.json());
}).subscribe((data) => {
console.log(data);
});
嗨,我想总结一下如何更新 table angular 2.
这是我的资料: 后端:express / MongoDB。更新通过外部应用程序输入数据库 数据:90% 的数据将是静态的。每秒更新 10% 的数据。
我看过 Observables / promises。 HTTP 请求/套接字 IO 但我无法理解这些概念。
主要问题:我可以使用带有 socket.io 的可观察对象来更新记录吗?
关于数据更新的其他问题
- Angular 2的Observables – observables是不是只有在客户端拉取数据的时候才会用到?或者当数据被推送到客户端时,你可以将它与套接字一起使用吗? (所有在线示例都使用 observables 和 http 请求)
- 您可以使用 Socket IO 更新对象还是仅用于新对象?每个示例都是一个聊天应用程序。
- 使用http请求时如何设置请求数据的频率? (一些在线示例使用循环,但这似乎是错误的。)
Observables 是基于事件的,因此它们可用于从利用网络套接字的服务器接收事件。看看这篇文章(第 "Event-based support" 节):
实际上它是新对象,但您可以利用
scan
运算符来聚合多个事件的内容。var obs = (...) obs.startWith([]) .scan((acc,value) => acc.concat(value)) .subscribe((data) => { console.log(data); });
有关详细信息,请参阅此问题:
如果你想拉一个时间间隔,你可以利用
interval
方法:Observable.interval(3000).flatMap(() => { return this.http.get('/some-request').map(res => res.json()); }).subscribe((data) => { console.log(data); });