小编fre*_*ssi的帖子

使 ReplaySubject 仅返回订阅时的最后一个值

我有一个奇怪的用例,我需要跟踪所有以前发出的事件。

多亏了 ReplaySubject,它到目前为止工作得很好。在每一个新订阅者上,这个主题都会重新发出以前的每个事件。

现在,对于特定场景,我需要能够仅提供最新发布的事件(有点像 BehaviorSubject),但保持源相同的事件。

这是我试图实现的一个片段:stackblitz

import { ReplaySubject, BehaviorSubject, from } from "rxjs";

class EventManager {
  constructor() {
    this.mySubject = new ReplaySubject();
  }

  publish(value) {
    this.mySubject.next(value);
  }

  fullSubscribe(next, error, complete) {
    return this.mySubject.subscribe(next, error, complete);
  }

  subscribe(next, error, complete) {
    return this.mySubject.pipe(/* an operator to get the last one on new subscribe */).subscribe(next, error, complete);
  }
}

const myEventManager = new EventManager();

myEventManager.publish("Data 1");
myEventManager.publish("Data 2");
myEventManager.publish("Data 3");

myEventManager.fullSubscribe(v => {
  console.log("SUB 1", v);
});

myEventManager.subscribe(v => { …
Run Code Online (Sandbox Code Playgroud)

javascript rxjs replaysubject

5
推荐指数
1
解决办法
283
查看次数

MongoDB 和 CodeIgniter:选择字段存在的位置

我正在使用 Codeigniter 和MongoDb 库

我想在字段存在的地方执行选择。

db.yourcollection.find({ 'otherInfo.text' : { '$exists' : true }})
Run Code Online (Sandbox Code Playgroud)

但我找不到如何使用这个库做到这一点......

请问有什么解决办法吗?

field codeigniter mongodb

1
推荐指数
1
解决办法
1113
查看次数

标签 统计

codeigniter ×1

field ×1

javascript ×1

mongodb ×1

replaysubject ×1

rxjs ×1