有人可以向我解释这段代码,它是用JavaScript编写的,我正在尝试了解如何创建可观察的代码

时间:2019-04-09 08:26:22

标签: javascript rxjs

我不太了解这段代码中发生了什么。 我们是否要传递一个函数并获取一个对象,然后创建一个新类? 先感谢您 以及.subscribe({})如何知道下一个值。 如果有人解释如何调试,我将不胜感激

function Observable(subscribe) {
  this.subscribe = subscribe;
}
const one$ = new Observable(observer => {
  observer.next(1);
  observer.complete();
});

one$.subscribe({
  next: value => console.log(value), // 1
});

1 个答案:

答案 0 :(得分:3)

  

我们传递一个函数

  

并得到一个物体

是的。 new创建一个类的实例,它是一个对象。

  

然后创建一个新类?

否。

函数声明创建一个类:

function Observable(subscribe) {
  this.subscribe = subscribe;
}

new调用它会创建该类的实例:

const one$ = new Observable(value);

  

.subscribe({})如何知道下一个值。

因为您明确地传递了它:

observer.next(1);