Observable.timeout是如何消失的?

时间:2018-02-06 12:40:59

标签: angular typescript observable

我试图将使用webpack但不使用Angular CLI创建的Angular 5项目移动到Angular CLI项目中。以下代码用于正常工作:

return this.httpClient.jsonp<Foo>('http://some.url', 'callback').timeout(timeout).toPromise();

这仍然编译没有错误,但在运行时我现在失败了 &#34;超时不是一个功能&#34;。

所以我可以在调试器中更好地了解发生了什么,我将上面改为:

const observable = this.httpClient.jsonp<Foo>('http://some.url', 'callback');

当我在我的旧项目中运行它时,我回来的可观察结果与我在新的Angular CLI项目中得到的结果非常不同 - Observable具有超时功能和许多其他功能,这些功能完全没有新项目返回的Observable。

在这两种情况下它都是相同版本的Angular,相同的HttpClient是从&#39; @ angular / common / http&#39;导入的,但不知怎的,在新项目中我得到了某种裸骨, Observable的精简版本,它缺少我需要的功能,编译器期望它应该在那里。

我的两个主要猜测是,我错过了一个向Observable添加了大量功能的polyfill,或者在模块加载过程中以某种方式错误的Observable正在替换我以前得到的Observable。

我比较了两个项目中的polyfills.ts,然而,比较了package.json文件中的包版本,特别是rxjs中的包版本,但是没有任何东西在我身上跳跃,没有我尝试过修改差。

0 个答案:

没有答案
相关问题