我有一些 websocket 代码,我在其中向 websocket 服务器发送消息并得到回复。
这段代码工作正常,但我想把它放在服务中,然后从组件中调用它。
这是现在在组件内部的代码:
import { Component } from '@angular/core';
import {webSocket, WebSocketSubject} from 'rxjs/webSocket';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
myWebSocket: WebSocketSubject<any> = webSocket('ws://localhost:8888');
constructor() {
this.myWebSocket.subscribe(
msg => console.log('message received: ' + msg),
err => console.log(err),
() => console.log('complete')
);
}
sendMessageToServer(msg) {
const dte = Date.now();
this.myWebSocket.next({message: `${msg} - ${dte}` });
}
}
我现在创建了一个服务:
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class WsService {
constructor() { }
}
我该怎么做...从组件到服务的哪些部分...例如,我是在服务内订阅还是在组件内订阅?