首页 > 解决方案 > 如何console.log里面订阅

问题描述

我有一个带有猫鼬连接的节点服务器。我有一个有角度的前端,它有一个使用订阅的服务。

this.http.post(`${this.uri}/update/${id}`, obj).subscribe(
  res => this.router.navigate(['test'])
);

这就是问题所在,因为我不明白它的语法。我想在 res => this.router.navigate(['test']) 之后 console.log 一些东西。我试过了:

this.http.post(`${this.uri}/update/${id}`, obj).subscribe(
  res => this.router.navigate(['test']),
  () => console.log('test')
);

但是 () 部分永远不会被调用。如何在路由器功能调用后控制台记录某些内容?此外,当我重命名 res 时,一切仍然有效。res 变量究竟是什么?我不得不承认我在这里复制了另一个答案的 .subscribe 部分。

感谢您的每一个帮助!

标签: angularrxjssubscribe

解决方案


我想在 res => this.router.navigate(['test']) 之后 console.log 一些东西

改变

this.http.post(`${this.uri}/update/${id}`, obj).subscribe(
  res => this.router.navigate(['test']),
  () => console.log('test')
);

this.http.post(`${this.uri}/update/${id}`, obj).subscribe(
  res => {
      this.router.navigate(['test']);
      console.log('test');
  }
);

res 变量究竟是什么?

它是由于 http 请求而从服务器获得的响应。


推荐阅读