Angular2 Http 请求返回没有映射方法的可观察性

Angular2 Http Request returns Observable without map method

本文关键字:映射 方法 可观察性 Http 请求 返回 Angular2      更新时间:2023-09-26

我已经用HTTP_PROVIDERS设置了我的应用程序

bootstrap(AppComponent, [
  HTTP_PROVIDERS,
  ROUTER_PROVIDERS,
  provide(LocationStrategy, { useClass: HashLocationStrategy }),
  PostService
]);

和我的服务喜欢

@Injectable()
export class PostService {
  posts = [];
  constructor(http: Http) {
    this.http = http;
  }
}

但是当我打电话时

this.http.get('/posts')

它返回一个没有map方法的Observable,它让我发疯几个小时。我使用 Babel 来转译我的 JavaScript 代码。

新推出的服务器通信开发指南(最后)讨论/提及/解释了这一点:

RxJS库非常大。当我们构建生产应用程序并将其部署到移动设备时,大小很重要。我们应该只包含我们实际需要的那些功能。

因此,Angular 在 rxjs/Observable 模块中公开了 Observable 的精简版本,该版本几乎缺少所有运算符,包括我们在这里想要使用的运算符,例如 map 方法......

由我们来添加所需的运算符。我们可以逐个添加每个运算符,直到我们有一个自定义的可观察实现,精确地调整到我们的要求。

例如,正如@Langley上面的评论所示:

import 'rxjs/add/operator/map';

或者,如果我们懒惰,我们可以拉入全套运算符:

import 'rxjs/Rx';