Socket.io与不同mySQL表的连接,角度前端
我有一个angular应用程序,它显示一个数据表(mySQL数据库),并在数据库中添加任何内容时进行更新。我觉得我应该补充一点,我非常缺乏经验,我知道角度,但我正在努力学习更多关于后退操作的知识 我在node.js服务器上使用websocket(socket.io)来实现这一点。它工作正常,但我想添加第二个不相关的数据表,它将出现在我的应用程序的不同部分。我应该设置另一个websocket来实现这一点吗?或者一个websocket可以与一个数据库中的两个不同表交互 所有SQL查询都在后端处理,如下所示Socket.io与不同mySQL表的连接,角度前端,mysql,angular,websocket,socket.io,Mysql,Angular,Websocket,Socket.io,我有一个angular应用程序,它显示一个数据表(mySQL数据库),并在数据库中添加任何内容时进行更新。我觉得我应该补充一点,我非常缺乏经验,我知道角度,但我正在努力学习更多关于后退操作的知识 我在node.js服务器上使用websocket(socket.io)来实现这一点。它工作正常,但我想添加第二个不相关的数据表,它将出现在我的应用程序的不同部分。我应该设置另一个websocket来实现这一点吗?或者一个websocket可以与一个数据库中的两个不同表交互 所有SQL查询都在后端处理,如
// Create MySQLEvents
const instance = new MySQLEvents(connection, {
startAtEnd: true // to record only new binary logs
});
await instance.start();
instance.addTrigger({
name: 'Monitor all SQL Statements',
expression: 'mydb.*', // listen to database
statement: MySQLEvents.STATEMENTS.ALL,
onEvent: e => {
currentData = e.affectedRows;
let newData;
switch (e.type) {
case "INSERT":
database.table('products')
.withFields(['id', 'title', 'quantity', 'price'])
.sort({id: -1})
.getAll()
.then(prods => {
data = prods;
io.sockets.emit('update', {prods: [...data]});
})
.catch(err => console.log(err));
.....
我的前端只接受并显示传入的数据。我不知道如何添加第二个插座
这是我的socket.service.ts
export class SocketService {
constructor(private socket: Socket) { }
getInitialData() {
return this.createObserver('initial');
}
getUpdatedData() {
return this.createObserver('update');
}
private createObserver(event: string) {
return this.socket.fromEvent(event);
}
这里是component.ts
export class DashboardComponent implements OnInit, OnDestroy {
private subs: Subscription[] = [];
localData: any[] = [];
constructor(private socketService: SocketService) {
}
ngOnInit() {
this.subs.push(
this.socketService.getInitialData().subscribe((data: ServerResponse) => {
this.localData = data.prods;
})
);
this.subs.push(
this.socketService.getUpdatedData().subscribe((data: ServerResponse) => {
this.localData = data.prods;
})
);
}
ngOnDestroy() {
this.subs.forEach(s => s.unsubscribe());
}
}
interface ServerResponse {
prods: any[];
type?: string;
}
我只是迭代localData来显示表
我的理想结果是拥有一个具有多个端点的websocket。我只是不知道如何处理mySQL事件
类似地,如果我有两个完全独立的WebSocket,我不确定如何处理角度方面的问题