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英镑。这是服务之间可能发生变化的事情,我想最好的方法就是在使用服务的同时嗅探您的网络并发现您自己