angular - 从可观察的角度 7 中获取最后发出的值
问题描述
在下一次单击时,将值发射到 observable 能够获取但它首先被调用 n 次,它在下一次获取对象时得到空值。所以我需要写一个 if 条件,如果值不为空,然后执行一些逻辑。那么有没有办法获得最终完成的值,所以尝试了像 last take(1) 和行为主题这样的 rxjs 运算符,但是它们都没有工作附加代码片段在编写 observable 时有什么问题
savePersonalInfo$ = new Subject<any>();
get savePersonalInfo() {
return this.savePersonalInfo$.asObservable();
}
我的服务文件看起来像这样,其中尝试使用行为主题创建主题但没有运气。
onClickedNext(){
// this.isContinueClicked = true;
// this.shared.coapplicantForm = this.register;
this.shared.isFromNext = true;
this.shared.savePersonalInfo$.next({value: 'clicked'});
}
在发出值的下一次单击事件中,它来自导航组件。
this.shared.savePersonalInfo.subscribe(resp => {
if (resp.value != "") {
}
});
试图在此处获取发出的值的代码 它最初需要获取最新值 它变空 这是另一个组件,在下次单击时需要将数据保存在个人组件中,因此如果条件数据是否可用,则在它发送的代码中的其他位置写入object 在这种情况下如何区分,因为它得到了对象。
解决方案
您可以使用 skipWhile 运算符来检查发出的值是否为空。以下代码块可能会对您有所帮助。
this.shared.savePersonalInfo.pipe(skipWhile(value => !value)).subscribe(res => {
console.log(res);
});
推荐阅读
- php - 拖放区域打开文件而不是上传到服务器
- python - Python:读取由 API 动态生成的 csv 文件?
- python - 仅包含分类变量的大型数据集的聚类分析
- scala - SBT 没有删除以前下载的版本
- r - 在点云背景的瓷砖上徘徊 - 如何显示工具提示?
- reactjs - 当我使用 React-hooks 从输入 onchange 获取值时保持变量类型
- android - 简单 XML 序列化 - 禁用自结束标记
- html - 图像 src 在主页以外的其他页面中中断
- android - 不同风格的 Flutter build 启动后立即崩溃
- java - 如何将 Double 转换为具有指数符号的字符串