Angular 如何记录结果的成功输出?

Angular 如何记录结果的成功输出?,angular,Angular,我有以下服务: return this.http.get(this.wakeUrl) // ...and calling .json() on the response to return data .map((res:Response) => {res.json() console.log("Hello")

我有以下服务:

 return this.http.get(this.wakeUrl)
                        // ...and calling .json() on the response to return data
                         .map((res:Response) => {res.json()
                            console.log("Hello") 
                            })
                         //...errors if any
                         .catch((error:any) => Observable.throw(error.json().error || 'Server error'));
我可以在chrome的网络选项卡中看到,响应以200成功返回,但我如何在控制台中记录它? 在我的组件中,我想订阅它,但也没有得到任何输出

this.myService.makeHttpCall().subscribe(
  data => {
    console.log(data)
  },
  err => {
    console.log(err);
  });
如何记录: 1-一旦数据返回到我的服务中?
2-在我将服务注入的组件中?

如果您想让您的console.log进入映射,您需要更改控制台的顺序,然后实际返回响应:

.map((res:Response)=>{console.log(“Hello”);返回res.json()
如果没有控制台日志,它应该可以在以下情况下正常工作:

.map((res:Response)=>{return res.json()})
或者干脆

.map(res=>res.json())
当您希望控制台记录组件中的数据时,只需在回调(subscribe)中执行,就像您所做的那样。有些关联:因为我们在这里处理异步事件,这可能是一个有用的阅读,以供将来参考,这也解释了控制台日志在组件中的位置:

(1)在HTTP协议中,原始数据可以在标题下找到两行(“\r\n\r\n”),如果您愿意显示的话。 否则,如果您只是想确保得到200响应,只需使用正确的正则表达式并使用if语句

(2) 我不明白你的问题。如果您将服务直接注入服务器,则意味着您就是服务器,因此不需要它

如果您做了一些使您成为客户机的事情,而不是注入服务,那么您只是提供了一个客户机服务。如果是另一种情况,那么你可以自己多加200英镑。这是服务之间可能发生变化的事情,我想最好的方法就是在使用服务的同时嗅探您的网络并发现您自己