Angular 4应用程序

时间:2017-07-05 12:28:50

标签: angular rxjs angular-cli behaviorsubject

我在Angular 4应用程序上遇到了一个奇怪的问题。我的组件订阅了服务的BehaviorSubject。在它的订阅(或映射,最终没有改变)我调用data.json(),它第一次运行(来自BehaviorSubject的默认值,这是一个空数组)它失败,因为数组没有.json功能

//service.ts
private _errors: BehaviorSubject<any> = new BehaviorSubject([]);
public readonly errors: Observable<any> = this._errors.asObservable();
//component.ts
this.errors.subscribe(
  (data) => {
    const errorJSON = data.json();
  }
);

在某些PC中,此错误不会阻止其余应用程序以exprected方式运行(实际上,甚至不会抛出错误)。在其他情况下,此错误将被抛出,其余应用程序将失败。

所有的PC都具有完全相同的环境,运行相同的命令和angular-cli以及局部角度依赖性。使用ng serve或ng build会发生这种情况。在多次尝试找到此错误的根本原因之后,我们发现它必须对构建过程执行某些操作,因为“working pc”中生成的文件可以在“not working pc”上成功运行,而相反(在“工作电脑”上传输的“非工作电脑”产生的文件失败。

这个问题的根源是什么?是否应该抛出此错误的默认行为?在任何情况下,是否有人经历过类似的事情或有什么建议为什么会发生这种情况?

0 个答案:

没有答案