我有一个小服务器,通过WebSocket与其通信,它会发送一致的响应,因此我想要正确地输入它。所以我在Angular中尝试使用WebSockets,并在我的服务中添加了以下内容:
private socket$: WebSocketSubject<ResponseInterface>;
private createSocket$(): WebSocketSubject<ResponseInterface> {
return webSocket({
url: 'localhost:2343'
});
}
然后我正在做:
const toSend: PayloadInterface = {
sendThis: true
};
this.socket$.next(toSend);
好的,目前这段代码在使用Typescript编译时会出错,因为我试图将PayloadInterface对象传递到已经使用ResponseInterface类型的socket中。此外,我还有监听器:
public listen$(): Observable<ResponseInterface> {
return this.socket$.asObservable();
}
- 我的问题是,我不确定应该使用哪种类型/接口来声明套接字本身。应该使用ResponseInterface,因为我正在监听它,还是应该使用PayloadInterface,因为我想要推送(
next
)到它? - 然后,无论我在第1步中选择什么,我仍然会遇到类型冲突,无论是监听它还是“next”到它。
我错过了什么? any
/unknown
不可行。