学习Angular 2 Observables

时间:2017-01-25 16:08:28

标签: angular angular2-services

说实话,这是我第一次迷失并且不知道在哪里寻找关于某个主题的正确教程。

我试图了解Angular 2 Observables和Services。然而,一旦他们超越了最简单的获取请求,我发现的所有来源只会让我更加困惑。

这是我已经尝试过的:

  1. https://angular.io/docs/ts/latest/tutorial/toh-pt6.html(Angular 2 关闭。英雄应用教程,HTTP部分) - 迄今为止最好的,但一旦它到达Observables,他们开始抛出大量的Observable方法,没有很好的解释,为什么以及他们每个人做什么以及如何使用它们。我可以重新输入他们所写的内容并且它会起作用,但它并不能帮助我理解发生了什么。

    1. https://scotch.io/tutorials/angular-2-http-requests-with-observables - 在他们实施事件发射器时停止,但没有解释原因和内容。作为初学者,太多无关的信息只会让我感到困惑。
  2. 3.Ng-Book2 HTTP部分 - 在一个简单的Get示例中非常好,但随后立即跳转到创建一个Observable for YouTube API。只是为了澄清,这是他们给我的功能,没有任何解释:

        Observable.fromEvent(this.el.nativeElement, 'keyup') 
        .map((e: any) => e.target.value) // extract the value of the input .filter((text: string) => text.length > 1) // filter out if empty .debounceTime(250) // only once every 250ms 
        .do(() => this.loading.next(true)) // enable loading 
        // search, discarding old events if new input comes in 
        .map((query: string) => this.youtube.search(query)) 
        .switch()
     .subscribe(  
    (results: SearchResult[]) => { // on sucesss 
    this.loading.next(false); 
    this.results.next(results); 
    }, 
    (err: any) => { // on error 
    console.log(err); 
    this.loading.next(false); 
    }, 
    () => { // on completion 
    this.loading.next(false); 
    } 
     );
    

    对于可怕的格式很抱歉,很难从我在他们网站上购买的pdf书中复制。现在我知道所有这些.map函数都是特定于YouTube API的,用于获取所需的数据并将其放在相应的类属性中,但它根本不能帮助我学习Observables。

    4.YouTube视频教程我发现 - 所有这些都使用Angular 2的预发布版本。

    所以,请指出正确的方向。 subscribe()是我将使用的唯一真正的方法,使用Observables?小型应用程序是否需要EventEmitter来展示Observable是什么?如果有人有一个很好的分步教程解释原因和方法,我将不胜感激。

    对不起,如果我提出错误的问题,我无处可去寻求建议:)

0 个答案:

没有答案