看一下你的代码:
getUsers(): Observable<User[]> { return Observable.create(observer => { this.http.get('http://users.org').map(response => response.json(); }) }
和来自https://angular.io/docs/ts/latest/tutorial/toh-
pt6.html的代码
(顺便说一句,非常好的教程,您应该检查一下)
getHeroes(): Promise<Hero[]> { return this.http.get(this.heroesUrl) .toPromise() .then(response => response.json().data as Hero[]) .catch(this.handleError); }
Angular2内部的HttpService已经返回了一个可观察的对象,所以不需要像在这里那样包装另一个可观察的对象:
return Observable.create(observer => { this.http.get('http://users.org').map(response => response.json()
尝试按照我提供的链接中的指南进行 *** 作。仔细学习后,您应该会很好。
- -编辑 - -
首先,在哪里记录this.users变量?Javascript无法正常工作。您的变量是未定义的,这很好,因为代码执行顺序!
尝试这样做:
getUsers(): void { this.userService.getUsers() .then(users => { this.users = users console.log('this.users=' + this.users); }); }
查看console.log(…)在哪里!
尝试从toPromise()辞职,这似乎只是针对没有RxJs背景的ppl。
捕获另一个链接:https : //scotch.io/tutorials/angular-2-http-requests-with-
observables使用RxJs observables再次构建您的服务。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)