说实话,这是我第一次迷失并且不知道在哪里寻找关于某个主题的正确教程。
我试图了解Angular 2 Observables和Services。然而,一旦他们超越了最简单的获取请求,我发现的所有来源只会让我更加困惑。
这是我已经尝试过的:
https://angular.io/docs/ts/latest/tutorial/toh-pt6.html(Angular 2 关闭。英雄应用教程,HTTP部分) - 迄今为止最好的,但一旦它到达Observables,他们开始抛出大量的Observable方法,没有很好的解释,为什么以及他们每个人做什么以及如何使用它们。我可以重新输入他们所写的内容并且它会起作用,但它并不能帮助我理解发生了什么。
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是什么?如果有人有一个很好的分步教程解释原因和方法,我将不胜感激。
对不起,如果我提出错误的问题,我无处可去寻求建议:)