代码之家  ›  专栏  ›  技术社区  ›  Prajwal

一段空闲时间后,角度可观察物体不调用

  •  0
  • Prajwal  · 技术社区  · 6 年前

    创造 observable 我创建了一个类来保持对象和类的可观察性 next() ,有任务的时候就这样。

    class myObsClass{
    private sub;
    public obj;
    public obj$;
    
    constructor(){
        this.sub = new Subject<any>();
        this.obj = new Object();
        this.obj$ = this.sub.asObservable();
       }
    
    set object (value){
         this.obj = val;
         this.sub.next(this.obj);
        }
    }
    

    我正在创建它的实例,如下所示。

    public myObs = new myObsClass();
    

    在组件中,我订阅了同样的内容。

    this.service.myObs.obj$.subscribe(data => {
    // something to do with function
    });
    

    这个很好用。问题是,在空闲10或20分钟后,它根本就不调用subscribe。

    有什么问题吗?这种方法行吗?

    编写的代码只是为了提供清晰,如果复制粘贴,可能无法工作。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Sunil Singh    6 年前

    看起来你失去了 myObsClass .

    1. 转换您的类 肌层 使用@Inject Decorator来服务类
    2. providers 列出 module . 它将为可以在多个组件和服务中引用的服务创建单例。它将保持所有组件的引用。

    在这个服务模块中添加非常普通的服务。如果您不确定,则添加到 app.module.ts .