Angular应用程序如何知道数据库表的数据/状态被其他应用程序更改,然后需要在组件侧刷新其数据?
创始人
2024-10-30 13:31:04
0

Angular可以使用WebSocket和服务器端推送技术来实现实时的数据更新和通知。这可以通过socket.io来实现。

首先在Angular应用程序中,创建一个WebSocket服务来建立与服务器的WebSocket连接:

import { Injectable } from '@angular/core'; import * as io from 'socket.io-client'; import { Observable } from 'rxjs/Observable';

@Injectable() export class SocketService { private url = 'http://localhost:3000'; private socket;

constructor() { this.socket = io(this.url); }

public sendMessage(message) { this.socket.emit('message', message); }

public getMessages() { let observable = new Observable(observer => { this.socket.on('message', (data) => { observer.next(data); }); return () => { this.socket.disconnect(); }; }) return observable; } }

然后在组件中订阅服务器的通知,并在数据更改时触发刷新操作:

import { Component } from '@angular/core'; import { SocketService } from './socket.service';

@Component({ selector: 'app-root', template:

  • {{message}}
, styleUrls: ['./app.component.css'] }) export class AppComponent { messages = [];

constructor(private socketService: SocketService) { this.socketService.getMessages().subscribe(message => { this.messages.push(message); //trigger refresh of data }); } }

在服务器端(基于Node.js),可以使用socket.io来将连接的客户端订阅到某个数据库表的更改事件上,并在每次更改时向客户端发送通知:

var app = require('express')(); var http = require('http').createServer(app); var io = require('socket.io')(http); var pg = require('pg'); const { Pool, Client } = require('pg')

const pool = new Pool({ user: 'postgres', host: 'localhost', database: 'test',

相关内容

热门资讯

玩家必备科普!wepoker有... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款游戏中打...
指导大家!哈糖大菠萝辅助器,h... 指导大家!哈糖大菠萝辅助器,hhpoker哪个俱乐部靠谱,切实有挂(揭秘有挂)进入游戏-大厅左侧-新...
必备教程!pokernow辅助... 必备教程!pokernow辅助工具,aapoker透视脚本入口,竟然是真的有挂(有挂方式)1、操作简...
总算清楚!wepoker辅助分... 总算清楚!wepoker辅助分析器,wpk作弊最怕三个东西,好像真的是有挂(有挂技巧)1、点击下载安...
我来向大家传授!hhpoker... 我来向大家传授!hhpoker辅助靠谱吗,hhpoker有后台操控吗,切实是真的有挂(真的有挂)1、...
今日头条!fishpoker透... 今日头条!fishpoker透视,德扑圈透视,一直真的是有挂(有挂工具)1、打开软件启动之后找到中间...
玩家必看分享!hhpoker有... 玩家必看分享!hhpoker有透视功能吗,wepoker辅助真的假的,确实真的是有挂(存在有挂)1、...
推荐一款!HH平台挂,hhpo... 推荐一款!HH平台挂,hhpoker有后台操控吗,一贯真的有挂(有挂解密)1、下载好透视辅助下载之后...
玩家爆料!德扑圈透视挂,哈糖大... 玩家爆料!德扑圈透视挂,哈糖大菠萝免费辅助器,竟然是有挂(有挂规律)哈糖大菠萝免费辅助器透视方法中分...
带你了解!wepoker俱乐部... 带你了解!wepoker俱乐部辅助,hhpoker买挂,切实真的是有挂(有挂技巧)在进入软件靠谱后,...