为什么角度可观察计时器在部署后在本地工作不起作用?

问题描述 投票:2回答:3

下面的代码在本地正常工作但在部署后它不起作用。

import { Observable } from "rxjs/Observable";
let somethingTimer = Observable.timer(5000);
// rest of other code.

将上面的代码更改为以下代码在本地和生产服务器上正常工作。

import { timer } from 'rxjs/observable/timer';
let somethingTimer = timer(5000);
// rest of other code.

为什么会发生任何解释。

组态:

Angular CLI: 6.0.3
Node: 8.11.2
OS: win32 x64
Angular:
...

Package                      Version
--------------------------------------
@angular-devkit/architect    0.6.3
@angular-devkit/core         0.6.3
@angular-devkit/schematics   0.6.3
@schematics/angular          0.6.3
@schematics/update           0.6.3
rxjs                         6.2.0
typescript                   2.7.2

控制台日志出错

TypeError:a.timer不是函数

angular rxjs angular6
3个回答
1
投票

问题是你有RxJS 6,但你正试图在RxJS 5中使用timer(RxJS 5现在使用了Observable类的不推荐的修补)。

由于RxJS 6使用运算符和所谓的“Observable创建方法”的唯一方法是分别从'rxjs''rxjs/operators'直接导入它们:

import { timer } from 'rxjs';

let somethingTimer = timer(5000);

对于迁移文档,请参阅:


1
投票

您从rxjs 5升级到6.从5到6有很多变化。

第一个例子是rxjs 5代码,第二个例子是你在6中的代码。


0
投票

它与导入“计时器”的方式有关。在案例1中,计时器来自“可观察”对象,但第二个是单独的let import {timer}

在我看来,赌注方式是来自'rxjs / observable / timer'的import {timer};

我希望能帮助你

© www.soinside.com 2019 - 2024. All rights reserved.