javascript - 在 Angular 中将 if 和 else 与 mergeLatest 一起使用

标签 javascript angular typescript rxjs

我有一个包含combineLatest的返回语句,它调用内部的两个函数。我想为这些函数添加 if 和 else block ,但到目前为止我还没有这样做。

return combineLatest([
  this.firstfunction();
  this.secondfunction()
]).pipe(
  map(_ => Success()),
  catchError(error => {
    return error
  })
);

我想要 if().... this.firstfunction() 和另一个 if().. this.secondfunction().. 目前,当我在 mergeLatest 中添加 if block 时,它会给出错误。有什么建议吗?

最佳答案

这个怎么样:

const observables = [];
if(conditionForFirstFuction) {
    observables.push(this.firstFunction());
}
if(conditionForSecondFunction) {
    observables.push(this.secondFunction());
}

return combineLatest(observables).pipe(
    map(_ => Success()),
    catchError(error => {
        return error
    })
);

关于javascript - 在 Angular 中将 if 和 else 与 mergeLatest 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60186124/

相关文章:

angular - 如何用 Electron 外部化文件夹?

javascript - 在自定义 typescript 类中覆盖 javascript Object toString()

java - 不同类中 Typescript 中日期的自定义 JSON 解析器

mysql - 显示来自 MySQL 数据库的单个条目

node.js - 使用 Angular 2(+) 和 Node/Express 服务器设置所有 TypeScript 项目

javascript - 有没有好的 JavaScript 压缩器?

javascript - 如何获取 <html :submit> button is clicked in javascript

javascript - getAttribute ('href' ) 始终返回 '#' 而不管移动浏览器上的实际 href 属性如何

javascript - AngularJS:依赖管理

javascript - 如何使用 ng2-chart 创建数据标签?