如何使用异步管道从 observable 打印值
How to print value from observavle using async pipe
我正在尝试使用异步管道从我的可观察对象 class 中打印值,但到目前为止还没有成功。
我有以下功能,returns 可从我的 API 调用中观察到 class:
private getRecordType() {
return this.getMyData().pipe(
tap((res: Data) => {
return res.recordType;
}),
);
}
然后我设置为 this.recordType
getRecordType()
函数 returns:
的值
this.recordType = this.getRecordType();
console.log(this.recordType, 'RECORD_TYPE');
// returns Observable class
然后我尝试在我的模板中打印它:
<b>{{ recordType | async }}</b>
然而这在我的模板中只有 returns [object Object]
。
关于我做错了什么有什么建议吗?
提前致谢。
tap
不会改变 Observable 的发射,所以你的 tap
在这种情况下什么都不做。您要查找的运算符(用于修改 Observable 的发射)是 map
.
tap
运算符允许您对您的可观察对象执行 side-effects(参见 the documentation)。将 res.recordType
返回到 tap 运算符中不会执行您想要的操作
我建议你使用map operator。
我正在尝试使用异步管道从我的可观察对象 class 中打印值,但到目前为止还没有成功。 我有以下功能,returns 可从我的 API 调用中观察到 class:
private getRecordType() {
return this.getMyData().pipe(
tap((res: Data) => {
return res.recordType;
}),
);
}
然后我设置为 this.recordType
getRecordType()
函数 returns:
this.recordType = this.getRecordType();
console.log(this.recordType, 'RECORD_TYPE');
// returns Observable class
然后我尝试在我的模板中打印它:
<b>{{ recordType | async }}</b>
然而这在我的模板中只有 returns [object Object]
。
关于我做错了什么有什么建议吗?
提前致谢。
tap
不会改变 Observable 的发射,所以你的 tap
在这种情况下什么都不做。您要查找的运算符(用于修改 Observable 的发射)是 map
.
tap
运算符允许您对您的可观察对象执行 side-effects(参见 the documentation)。将 res.recordType
返回到 tap 运算符中不会执行您想要的操作
我建议你使用map operator。