我必须获取实时数据,并且我为此在angular-7中使用了websocket,但是我没有获得任何数据。
我使用此参考文献https://dzone.com/articles/high-performance-angular-grid-with-web-sockets实现了这一目标。但不确定我错了,所以我在这里寻求帮助。
如果还有其他解决方案,那么我也准备使用它,我只需要从“ ws://stocks.mnet.website/”获取实时数据即可。
app.service.ts
socket: Socket;
observer: Observer<any>;
constructor() { }
getQuotes(): Observable<any> {
this.socket = socketIo('ws://stocks.mnet.website/',{transports: ['websocket', 'polling', 'flashsocket']});
this.socket.on('data', (res) => {
this.observer.next(res.data);
});
return this.createObservable();
}
createObservable(): Observable<any> {
return new Observable<any>(observer => {
this.observer = observer;
});
}
private handleError(error) {
console.error('server error:', error);
if (error.error instanceof Error) {
let errMessage = error.error.message;
return Observable.throw(errMessage);
}
return Observable.throw(error || 'Socket.io server error');
}