rxjs里使用from operator从一个generator里生成Observable

174 阅读1分钟

源代码:

constructor(private jerryService: JerrySandBoxService,
              private englishGreet: GreetingService,
              @Inject(APP_CONFIG) config: AppConfig) {
    // this.jerryService.print();
    // this.jerryService.print2();
    // console.log(this.englishGreet.greet('Jerry'));
    // map((x: number) => x * x)(of(1, 2, 3)).subscribe((v) => console.log(`value: ${v}`));

    function* generateDoubles(seed) {
      let i = seed;
      while (true) {
        yield i;
        i = 2 * i; // double it
      }
   }
   const iterator = generateDoubles(3);
   const result = from(iterator).pipe(take(12));
    
   result.subscribe(x => console.log('diablo: ' + x));
  }

结果:

在这里插入图片描述