角度:不建议创建:改用new Observable()

时间:2019-04-05 15:43:54

标签: angular angular-material angular7

我最近使用ng update更新了我的angular版本 并且在运行ng lint

我收到错误create is deprecated: use new Observable() instead

this.data$ = Observable.create(t => {
    t.next(this.model);
    t.complete();
});

新可观察的语法是什么?

4 个答案:

答案 0 :(得分:3)

非常简单

this.data$ = new Observable((observer: Observer) => {
  observer.next();
  observer.complete();
});

答案 1 :(得分:3)

observableSubscription: Subscription;

创建自定义可观察的

const observer = new Observable((observer: Observer) => {
   observer.next();
   observer.error();
   observer.complete();
});

订阅“自定义可观察”

this.observableSubscription = observer.subscribe((data:any) => {
   console.log(data);
})

退订

this.observableSubscription.unsubscribe();

答案 2 :(得分:2)

或者您可以只使用

this.data$ = of(this.model);

答案 3 :(得分:2)

在 2021 年发生了变化。

new Observable((observer: Observer<object>) => {
    observer.next(data);
}); 

代替

new Observable((observer: Observer) => {
    observer.next();
    observer.complete();
});