当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript Observable.concat方法代码示例

本文整理汇总了TypeScript中rxjs.Observable.concat方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Observable.concat方法的具体用法?TypeScript Observable.concat怎么用?TypeScript Observable.concat使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在rxjs.Observable的用法示例。


在下文中一共展示了Observable.concat方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: catch

    .switchMap(({self}) => {
      if (!self) {
        return Observable.concat(
          Observable.of({
            type: chapter.load,
            self: {name: '', path: ''},
            name: '',
            children: []
          }),
          Observable.of(save()),
          Observable.of(select(null))
        );
      }

      const {path} = self;

      const treePath = `${path}/.tree`;
      if (fs.existsSync(treePath)) {
        try {
          record = JSON.parse(fs.readFileSync(treePath, 'utf8'));
        } catch(err) {}
      }

      let currentInChildren = false;
      const oldChildren = record.children.map(child => child.name);
      const newChildren = getFiles(path);
      record.children.forEach(({name, path: filePath}, index) => {
        if (!fs.existsSync(filePath)) {
          const i = newChildren.indexOf(name);
          if (i > 0) {
            newChildren.splice(i);
          }
          record.children.splice(index);
          currentInChildren = currentInChildren && (name === record.current);
        }
      });

      newChildren.forEach(name => {
        if (oldChildren.indexOf(name) < 0) {
          record.children.push({name, path: `${path}/${name}.md`});
        }
      });

      if (!currentInChildren) {
        record.current = (record.children[0] || {name: null}).name;
      }

      return Observable.concat(
        Observable.of({
          type: chapter.load,
          self,
          name: record.current,
          children: record.children
        }),
        Observable.of(save()),
        Observable.of(select(record.current))
      );
    });
开发者ID:dtysky,项目名称:MoeNotes,代码行数:58,代码来源:chapter.ts

示例2:

 .switchMap(({name1, name2}) => {
   return Observable.concat(
     Observable.of({
       type: chapter.swap,
       child1: {name: name1},
       child2: {name: name2}
     }),
     Observable.of(save())
   );
 });
开发者ID:dtysky,项目名称:MoeNotes,代码行数:10,代码来源:chapter.ts

示例3: createAsyncAction

export function createAsyncAction(fn: Function, type: string, args?: Array<any>, id?: string) {
  let result: Observable<any>;
  let startAction: IAction = createAction(`${type}_START`, args, id);

  try {
    result = Observable.concat(
      ensureObservable(fn.apply(this, args)).startWith(startAction),
      Observable.of(createAction(`${type}_COMPLETE`, undefined, id))
    );
  } catch (e) {
    result = Observable.of(
      startAction,
      createAction(`${type}_ERROR`, e, id)
    );
  }

  return result.map(data => {
    if (data && data.type) {
      return data;
    }

    return createAction(`${type}_SUCCESS`, data, id);
  });
}
开发者ID:DcsMarcRemolt,项目名称:dcs-store,代码行数:24,代码来源:utils.ts


注:本文中的rxjs.Observable.concat方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。