【问题标题】:Make Custom operator with observable使自定义运算符具有可观察性
【发布时间】:2022-01-04 12:35:20
【问题描述】:
const apiData = ajax('/api/data').pipe(map((res: any) => {
if (!res.response) {
  console.log('Error occurred.');
  throw new Error('Value expected!');
}
return res.response;
}),

我需要将管道函数包装到一个带有 observable 的自定义运算符中。 需要将错误和数据验证处理到通用 API 服务中。

【问题讨论】:

  • 你为什么使用 ajax 而不是 Angular 内置的 HttpClient
  • 只有 API 调用

标签: angular typescript rxjs observable operators


【解决方案1】:

那么问题是什么?你可以用函数包装 Observable 和操作符。

const createObs = () => ajax('/api/data').pipe(
  map((res: any) => {
    if (!res.response) {
      console.log('Error occurred.');
      throw new Error('Value expected!');
    }
    return res.response;
  }),
);

createObs().pipe(/* whatever */).subscribe();

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-03
  • 2012-04-28
  • 2015-10-16
  • 2013-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多