Angular 2 stomp服务消耗

问题描述 投票:0回答:1

我得到responseBody未定义但我在msg_body中获得订阅响应。 responseBody怎么了?

 let stomp_subscription = this._stompService.subscribe('/topic/queue');
stomp_subscription.map((message: Message) => {
  return message.body;
}).subscribe((msg_body: string) => {
  console.log(`Received: ${msg_body}`);
  this.responseBody = JSON.parse(msg_body);
  console.log('RESPONSECODE' + this.responseBody.ResponseInfo.ResponseCode);
});
typescript observable stomp
1个回答
0
投票

你正在使用来自Observable的return算子的.map()声明。因此,该值不会传递给针对Observable的下一个.subscribe()调用。你能试试下面的代码吗?

    let stomp_subscription = this._stompService.subscribe('/topic/queue');
    stomp_subscription.map((message: Message) => message.body )
     .subscribe((msg_body: string) => {
      console.log(`Received: ${msg_body}`);
      this.responseBody = JSON.parse(msg_body);
      console.log('RESPONSECODE' + this.responseBody.ResponseInfo.ResponseCode);
    });
© www.soinside.com 2019 - 2024. All rights reserved.