MessageEvent 的访问字段
Access fields of a MessageEvent
我有一个 Angular 6 前端应用程序,它通过 Websocket 与我的后端通信。
当我发送登录请求时,我的后端 returns 一个 JSON 对象
{"type":"LoggedIn","value":{"email":"1@1.de","id":9,"name":"1"}}
我现在尝试阅读那里的字段,但我看不到允许我这样做的方法。
到目前为止,我可以使用该功能显示整个后端消息:
this.socketService.receiveEvents('LoggedIn').subscribe((message: MessageEvent) => {
console.log('message: ' + message.data);
});
receiveEvents(完整性原则):
/**
* TODO: Implement a paramemter that allows this method to return an Observable
* TODO: with a filter for relevant events for the calling functions
* @returns {Observable<Object>}
*/
receiveEvents(relevantEvent): Observable<Object> {
return this._subject.asObservable().pipe(filter((event: Event) => event != null));
}
我如何才能仅显示 "type" 或 "value" 字段?
我已经尝试用 for 循环对其进行迭代,但我只收到单个字母。
非常感谢。
这样做:
interface BackendResponse {
type: string;
value: string[];
}
this.socketService.receiveEvents('LoggedIn').subscribe((message: MessageEvent) => {
const obj: BackendResponse = JSON.parse(message.data);
console.log(obj.type);
});
这应该会让您走上正确的道路 =)
我有一个 Angular 6 前端应用程序,它通过 Websocket 与我的后端通信。
当我发送登录请求时,我的后端 returns 一个 JSON 对象
{"type":"LoggedIn","value":{"email":"1@1.de","id":9,"name":"1"}}
我现在尝试阅读那里的字段,但我看不到允许我这样做的方法。
到目前为止,我可以使用该功能显示整个后端消息:
this.socketService.receiveEvents('LoggedIn').subscribe((message: MessageEvent) => {
console.log('message: ' + message.data);
});
receiveEvents(完整性原则):
/**
* TODO: Implement a paramemter that allows this method to return an Observable
* TODO: with a filter for relevant events for the calling functions
* @returns {Observable<Object>}
*/
receiveEvents(relevantEvent): Observable<Object> {
return this._subject.asObservable().pipe(filter((event: Event) => event != null));
}
我如何才能仅显示 "type" 或 "value" 字段?
我已经尝试用 for 循环对其进行迭代,但我只收到单个字母。
非常感谢。
这样做:
interface BackendResponse {
type: string;
value: string[];
}
this.socketService.receiveEvents('LoggedIn').subscribe((message: MessageEvent) => {
const obj: BackendResponse = JSON.parse(message.data);
console.log(obj.type);
});
这应该会让您走上正确的道路 =)