【问题标题】:What does filter(loaded =>!loaded) do?filter(loaded =>!loaded) 是做什么的?
【发布时间】:2019-07-01 22:21:40
【问题描述】:

这是来自this Articlefilter(loaded => !loaded) 有什么作用?我没有在任何地方看到该变量的定义。

我明白这个方法的目的是什么吧,只是不知道那一行。

canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {

    // 1
    const isLoaded$ = this.store.select(fromRoot.getUsers)
      .map(users => users.length > 0);

    // 2
    isLoaded$
      .take(1)
      .filter(loaded => !loaded)  // here
      .map(() => new user.LoadAllAction())
      .subscribe(this.store);

    // 3
    return isLoaded$
      .take(1);
  }

【问题讨论】:

    标签: javascript functional-programming rxjs


    【解决方案1】:

    Loaded 在传递给filter的函数中定义:

    filter(loaded => !loaded)
    

    本质上与

    相同
    filter(function(loaded) {return !loaded});
    

    就它的作用而言,它会过滤掉虚假的元素。

    【讨论】:

    • @mtyson 当然,没问题! :-)
    • 有什么意见为什么作者选择在最后写一个.take(1)而不是unsubscribe()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 2015-09-09
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    相关资源
    最近更新 更多