Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
前言
RxJS是一种针对异步数据流编程工具,或者叫响应式扩展编程;可不管如何解释RxJS其目标就是异步编程,Angular引入RxJS为了就是让异步可控、更简单。可是最近在升级中遇到了一些问题,下面就来给大家介绍下,给同样遇到这个问题发朋友们一些参考,下面话不多说了,来一起看看详细的介绍吧。
Angular5.0.5升级RxJS到5.5.3报错:
ERRORError:Uncaught(inpromise):EmptyError:noelementsinsequence EmptyError:noelementsinsequence atnewEmptyError(EmptyError.js:28) atFirstSubscriber._complete(first.js:154) atFirstSubscriber.Subscriber.complete(Subscriber.js:122) atMergeMapSubscriber._complete(mergeMap.js:150) atMergeMapSubscriber.Subscriber.complete(Subscriber.js:122) atMapSubscriber.Subscriber._complete(Subscriber.js:140) atMapSubscriber.Subscriber.complete(Subscriber.js:122) atEmptyObservable._subscribe(EmptyObservable.js:83) atEmptyObservable.Observable._trySubscribe(Observable.js:172) atEmptyObservable.Observable.subscribe(Observable.js:160) atnewEmptyError(EmptyError.js:28) atFirstSubscriber._complete(first.js:154) atFirstSubscriber.Subscriber.complete(Subscriber.js:122) atMergeMapSubscriber._complete(mergeMap.js:150) atMergeMapSubscriber.Subscriber.complete(Subscriber.js:122) atMapSubscriber.Subscriber._complete(Subscriber.js:140) atMapSubscriber.Subscriber.complete(Subscriber.js:122) atEmptyObservable._subscribe(EmptyObservable.js:83) atEmptyObservable.Observable._trySubscribe(Observable.js:172) atEmptyObservable.Observable.subscribe(Observable.js:160) atresolvePromise(zone.js:824)
这应该是RxJS升级导致的,参考issue。
方法一
在所有的route里加上pathMath:"full",如
constroutes:Routes=[ {path:"",component:IndexComponent}, {path:"home",component:HomeComponent}, {path:"about",component:AboutComponent}, ... ];
改为
constroutes:Routes=[ {pathMatch:'full',path:"",component:IndexComponent}, {pathMatch:'full',path:"home",component:HomeComponent}, {pathMatch:'full',path:"about",component:AboutComponent}, ... ];
方法二
RxJS降为版本5.5.2。
注意:降版本时一定要把之前的卸载掉。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。