• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript operators.defaultIfEmpty函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中rxjs/operators.defaultIfEmpty函数的典型用法代码示例。如果您正苦于以下问题:TypeScript defaultIfEmpty函数的具体用法?TypeScript defaultIfEmpty怎么用?TypeScript defaultIfEmpty使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: rule

  return input.pipe(mergeMap(inputTree => {
    const result = rule(inputTree, context);

    if (!result) {
      return observableOf(inputTree);
    } else if (typeof result == 'function') {
      // This is considered a Rule, chain the rule and return its output.
      return callRule(result, observableOf(inputTree), context);
    } else if (isObservable(result)) {
      // Only return the last Tree, and make sure it's a Tree.
      return result.pipe(
        defaultIfEmpty(),
        last(),
        tap(inner => {
          if (!inner || !(TreeSymbol in inner)) {
            throw new InvalidRuleResultException(inner);
          }
        }),
      );
    } else if (TreeSymbol in result) {
      return observableOf(result);
    } else {
      return throwError(new InvalidRuleResultException(result));
    }
  }));
开发者ID:DevIntent,项目名称:angular-cli,代码行数:25,代码来源:call.ts


示例2: getNpmConfigOption

function getNpmConfigOption(
  option: string,
  scope?: string,
  tryWithoutScope?: boolean,
): Observable<string | undefined> {
  if (scope && tryWithoutScope) {
    return concat(
      getNpmConfigOption(option, scope),
      getNpmConfigOption(option),
    ).pipe(
      filter(result => !!result),
      defaultIfEmpty(),
      first(),
    );
  }

  const fullOption = `${scope ? scope + ':' : ''}${option}`;

  let value = npmConfigOptionCache.get(fullOption);
  if (value) {
    return value;
  }

  value = option.startsWith('_')
      ? getOptionFromNpmRc(fullOption)
      : getOptionFromNpmCli(fullOption);

  npmConfigOptionCache.set(fullOption, value);

  return value;
}
开发者ID:baconwaffles,项目名称:angular-cli,代码行数:31,代码来源:npm.ts


示例3: getNpmConfigOption

function getNpmConfigOption(
  option: string,
  scope?: string,
  tryWithoutScope?: boolean,
): Observable<string | undefined> {
  if (scope && tryWithoutScope) {
    return concat(
      getNpmConfigOption(option, scope),
      getNpmConfigOption(option),
    ).pipe(
      filter(result => !!result),
      defaultIfEmpty(),
      first(),
    );
  }

  const fullOption = `${scope ? scope + ':' : ''}${option}`;

  let value = npmConfigOptionCache.get(fullOption);
  if (value) {
    return value;
  }

  const subject = new ReplaySubject<string | undefined>(1);

  try {
    exec(`npm get ${fullOption}`, (error, data) => {
      if (error) {
        subject.next();
      } else {
        data = data.trim();
        if (!data || data === 'undefined' || data === 'null') {
          subject.next();
        } else {
          subject.next(data);
        }
      }

      subject.complete();
    });
  } catch {
    subject.next();
    subject.complete();
  }

  value = subject.asObservable();
  npmConfigOptionCache.set(fullOption, value);

  return value;
}
开发者ID:fmalcher,项目名称:angular-cli,代码行数:50,代码来源:npm.ts


示例4: callSource

export function callSource(source: Source, context: SchematicContext): Observable<Tree> {
  const result = source(context);

  if (isObservable(result)) {
    // Only return the last Tree, and make sure it's a Tree.
    return result.pipe(
      defaultIfEmpty(),
      last(),
      tap(inner => {
        if (!inner || !(TreeSymbol in inner)) {
          throw new InvalidSourceResultException(inner);
        }
      }),
    );
  } else if (result && TreeSymbol in result) {
    return observableOf(result);
  } else {
    return throwError(new InvalidSourceResultException(result));
  }
}
开发者ID:angular,项目名称:angular-cli,代码行数:20,代码来源:call.ts


示例5: getNpmConfigOption

function getNpmConfigOption(
  option: string,
  scope?: string,
  tryWithoutScope?: boolean,
): Observable<string | undefined> {
  if (scope && tryWithoutScope) {
    return concat(
      getNpmConfigOption(option, scope),
      getNpmConfigOption(option),
    ).pipe(
      filter(result => !!result),
      defaultIfEmpty(),
      first(),
    );
  }

  const fullOption = `${scope ? scope + ':' : ''}${option}`;

  let value = npmConfigOptionCache.get(fullOption);
  if (value) {
    return value;
  }

  const subject = new ReplaySubject<string | undefined>(1);

  const optionValue = npmConfig && npmConfig[fullOption];
  if (optionValue == undefined || optionValue == null) {
    subject.next();
  } else {
    subject.next(optionValue);
  }

  subject.complete();

  value = subject.asObservable();
  npmConfigOptionCache.set(fullOption, value);

  return value;
}
开发者ID:rexebin,项目名称:angular-cli,代码行数:39,代码来源:npm.ts


示例6:

export function defaultIfEmpty<T, R>(this: Observable<T>, defaultValue: R = null): Observable<T | R> {
  return higherOrder<T, R>(defaultValue)(this);
}
开发者ID:DallanQ,项目名称:rxjs,代码行数:3,代码来源:defaultIfEmpty.ts


示例7: of

 observable1 = constructorZone1.run(() => {
   return of().pipe(defaultIfEmpty('empty'));
 });
开发者ID:angular,项目名称:zone.js,代码行数:3,代码来源:rxjs.Observable.default.spec.ts


示例8: it

it('should infer correctly with a defaultValue', () => {
  const o = of(1, 2, 3).pipe(defaultIfEmpty(47)); // $ExpectType Observable<number>
});
开发者ID:jaychsu,项目名称:RxJS,代码行数:3,代码来源:defaultIfEmpty-spec.ts



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript operators.delay函数代码示例发布时间:2022-05-25
下一篇:
TypeScript operators.debounceTime函数代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap