Http 如何在触发事件时在所有连接的设备上立即更新Angular2应用程序?
我需要使用Angular2和Ionic2构建一个餐厅管理移动应用程序,并使用Angular2为同一家餐厅构建一个网站,该网站不断进行http连接以存储和检索数据库中的数据,以维护最新数据 例如,如果一个订单请求是从一个服务员的手机发出的,那么新的订单将被发布到数据库中,我可以完成这项工作。厨师长需要得到新订单已创建的即时通知。此外,数据还需要反映在其他员工的电话和网站上 我所能想到的就是使用Http 如何在触发事件时在所有连接的设备上立即更新Angular2应用程序?,http,angular,ionic2,Http,Angular,Ionic2,我需要使用Angular2和Ionic2构建一个餐厅管理移动应用程序,并使用Angular2为同一家餐厅构建一个网站,该网站不断进行http连接以存储和检索数据库中的数据,以维护最新数据 例如,如果一个订单请求是从一个服务员的手机发出的,那么新的订单将被发布到数据库中,我可以完成这项工作。厨师长需要得到新订单已创建的即时通知。此外,数据还需要反映在其他员工的电话和网站上 我所能想到的就是使用setInterval,但由于我以前从未做过类似的事情,我不确定这是不是正确的方法 组件 orders:
setInterval
,但由于我以前从未做过类似的事情,我不确定这是不是正确的方法
组件
orders: Order[];
constructor(private orderService: OrderService) {
setInterval(function() {
this.orderService
.getOrders()
.subscribe(
(orders: Order[]) => this.orders = orders,
(error: Response) => console.log(error)
)}, 3000);
}
placeanOrder(order) {
this.orderService.postOrder(order);
}
getOrders() Observable<any>{
this.http.get(...).map(...);
}
placeOrder(order) {
this.http.post(...).map(...);
}
服务
orders: Order[];
constructor(private orderService: OrderService) {
setInterval(function() {
this.orderService
.getOrders()
.subscribe(
(orders: Order[]) => this.orders = orders,
(error: Response) => console.log(error)
)}, 3000);
}
placeanOrder(order) {
this.orderService.postOrder(order);
}
getOrders() Observable<any>{
this.http.get(...).map(...);
}
placeOrder(order) {
this.http.post(...).map(...);
}
getOrders()可观察{
this.http.get(…).map(…);
}
订单{
this.http.post(…).map(…);
}
当我尝试类似的操作时,我每秒都会在控制台上记录相同的错误
无法读取未定义的属性“getOrders”
Order
)呢- 错误:
setInterval(函数(){
- 右:
setInterval(()=>{
getOrders():可观察{
不需要其他任何东西。属性名称必须相同(接口/json)
未指定属性。您可以使用websockets…它可以是轮询API(您现在正在执行的操作)或使用websockets从服务器端推送更新(更可取)。谢谢。我将查看websockets。好信息。谢谢。