angular - rxjs - 当 observable 开始执行时做一些事情

标签 angular rxjs

有没有办法在 observable 开始执行时附加处理程序(有人调用订阅)?

像 Angular 一样:

    this.http.post('someUrl', resource).pipe(
       catchError(),
       finalize((() => this.hideLoader()),
       **executing(() => this.showLoader()) <------**
    )

最佳答案

defer可观察的工厂函数很可能是您正在寻找的:

import { defer } from 'rxjs';

const post = defer(() => {
  this.showLoader();
  return this.http.post('someUrl', resource).pipe(
    catchError(),
    finalize(() => this.hideLoader())
  );
});
post.subscribe();

关于angular - rxjs - 当 observable 开始执行时做一些事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49782989/

相关文章:

angular - 使用 Rxjs 或其他东西监听 Angular 中的数据库数据变化

html - 当侧边栏折叠为图标时,导航栏文本会溢出

angular - 如何在没有嵌入式订阅的情况下一个接一个地执行异步操作

testing - 如何轻松测试 5 分钟后发出 Action 的 redux-observable epic?

javascript - 单击时,Bootstrap 模态未显示在 Angular 8 上

angular - 从 rxjs 导入 Observable 的最佳方式

具有多个表单组的 Angular 6 动态表单

javascript - 将 Node 流转换为 Rx.js Observables

带有解析器的 Angular 7 路由不会加载组件

rxjs - 逻辑或组合 2 个或多个可观察流