[RxJS] "Animation Allowed" problem

const tasks = of([....]);

/**
 *  {
 *    ...{ ...4......5......2}
 *    ...........{3...........2...5}
 *    ..................................{6....  3}
 *    ..........................................{3..4....2}
 *  }
 *
 */
const animationAllowed = tasks
  .map((task) =>
    // preappend 1
    // append -1
    // ingore task
    Observable.concat(
      of(1), //start
      task.filter(() => false),
      of(-1) //end
    )
  )
  /**
   * {
   *   ...{1................-1}
   *   ...........{1................-1}
   *   ...................................{1.......-1}
   *   ..........................................{1......-1}
   * }
   *
   */
  .mergeAll()
  // {....1....1.........-1........-1....1.....1.-1....-1}
  .scan((acc, curr) => {
    return acc + curr;
  }, 0)
  // {....1....2........1..........0.....1.....2.1......0}
  .map((num) => {
    return num === 0;
  })
  // {....F......F..........F......T..... F......F.F....T}
  .distincTUntilChanged();
// {....F........................T..... F.............T}

 

posted @   Zhentiw  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2022-09-08 [Go] Scan
2022-09-08 [Go] Constant
2022-09-08 [Typescript] Defining a namespace alias
2022-09-08 [Typescript challenge] 20. Medium - Chainable Options
2022-09-08 [Typescript challenge] 19. Medium - Tuple to Union
2022-09-08 [Typescript] 18. Medium - Deep Readonly
2022-09-08 [Typescript] 17. Medium - Readonly 2
点击右上角即可分享
微信分享提示