首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角万向- EmptyError:序列中没有元素

角万向- EmptyError:序列中没有元素
EN

Stack Overflow用户
提问于 2018-08-14 19:08:52
回答 2查看 906关注 0票数 1

我一直在尝试将角环球与我的应用程序集成,这是一场巨大的斗争。我们已经解决了很多问题,但我们已经在这个问题上坚持了两天。任何帮助都是非常感谢的。

因此,构建运行良好,错误只发生在我们试图启动网站时。这是一个错误:

在新的(C:\Projects\beatstars-marketplace-v2\dist\server.js:147171:28),在C:\Projects\beatstars-marketplace-v2\dist\server.js:147226:518,在Object.complete,(C:\Projects\beatstars-marketplace-v2\dist\server.js:170696:23),在TapSubscriber.module.exports.TapSubscriber._complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:125494,没有顺序的元素:31)在TapSubscriber.module.exports.Subscriber.complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59791:18) at TakeSubscriber.module.exports.Subscriber._complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59809:26) at TakeSubscriber.module.exports.Subscriber.complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59791:18) at FilterSubscriber.module.exports.Subscriber(C:\Projects\beatstars-marketplace-v2\dist\server.js:59809:26) at FilterSubscriber.module.exports.Subscriber.complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59791:18) at DistinctUntilChangedSubscriber.module.exports.Subscriber._complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59809:26) at DistinctUntilChangedSubscriber.module.exports.Subscriber.complete (C:\Projects\beatstars Market-v2)MapSubscriber.module.exports.Subscriber.complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59809:26) at MapSubscriber.module.exports.Subscriber.complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59791:18) at State.module.exports.Subject.complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:55713:21) at(C:\Projects\beatstars-marketplace-v2\dist\server.js:131851:14) at callNgModuleLifecycle (C:\Projects\beatstars-marketplace-v2\dist\server.js:8840:31) at NgModuleRef.module.exports.NgModuleRef_.destroy (C:\Projects\beatstars-marketplace-v2\dist\server.js:9458:9) at C:\Projects\beatstars-marketplace-v2\dist\server.js:4766:73PlatformRef.module.exports.PlatformRef.destroy (C:\Projects\beatstars-marketplace-v2\dist\server.js:4766:31) at C:\Projects\beatstars-marketplace-v2\dist\server.js:170216:22 at ZoneDelegate.module.exports.ZoneDelegate.invoke (C:\Projects\beatstars-marketplace-v2\dist\server.js:394223:26) at Zone.module.exports.Zone.run (C:\Projects)beatstars-marketplace-v2\dist\server.js:393973:43) at C:\Projects\beatstars-marketplace-v2\dist\server.js:394707:34 at ZoneDelegate.module.exports.ZoneDelegate.invokeTask (C:\Projects\beatstars-marketplace-v2\dist\server.js:394256:31) at Zone.module.exports.Zone.runTask (C:\Projects\beatstars-marketplace-v2\dist\server.js:394023:47) at drainMicroTaskQueue (C:\Projects )\beatstars-marketplace-v2\dist\server.js:394430:35) at module.exports.ZoneTask.invokeTask (C:\Projects\beatstars-marketplace-v2\dist\server.js:394335:21) at ZoneTask.invoke (C:\Projects\beatstars-marketplace-v2\dist\server.js:394320:48) at data.args(匿名函数) (C:\Projects\beatstars-marketplace-v2\dist\server.js:395173:25) at _combinedTickCallback( process._tickCallback /process/next_tick.js:138:11)(内部/process/next_tick.js:180:9)

我们已经进行了大量的研究,认为这与rxjs有关,但实际上不确定是什么。我们试着检查了我们所有的第一次使用似乎都没问题。我们试图移除所有的canActivate警卫,也没有工作,我们也尝试添加和删除pathMatch:完全从路线。这些都是我们在互联网上发现的问题的解决方案,但没有奏效。

这是我们的package.json:

代码语言:javascript
复制
 {
   "name": "project-name",
   "version": "0.1.105",
   "license": "MIT",
   "scripts": {
     "ng": "ng",
     "start": "ng serve --host 0.0.0.0 --port 8888 --disable-host-check",
     "dev": "ng serve",
     "hmr": "ng serve --hmr -e=hmr",
     "local": "ng serve --environment=local",
     "mock-api-dev": "concurrently \"ng serve\" \"node api/api.js\"",
     "test": "ng test",
     "lint": "ng lint",
     "e2e": "ng e2e",
     "build:server:prod": "ng run beatstars-marketplace-v2.1:server && webpack --config webpack.server.config.js --progress --colors",
     "build:browser:prod": "ng build --prod",
     "build:prod": "npm run build:server:prod && npm run build:browser:prod",
     "server": "node local.js"
   },
  "private": true,
  "dependencies": {
     "@angular/animations": "6.1.2",
     "@angular/cdk": "^6.4.2",
     "@angular/common": "6.1.2",
     "@angular/compiler": "6.1.2",
     "@angular/core": "6.1.2",
     "@angular/forms": "6.1.2",
     "@angular/http": "6.1.2",
     "@angular/material": "^6.4.2",
     "@angular/platform-browser": "^6.1.2",
     "@angular/platform-browser-dynamic": "6.1.2",
     "@angular/platform-server": "^6.1.2",
     "@angular/router": "6.1.2",
     "@ng-toolkit/universal": "^1.1.41-beta.110",
     "@ngrx/effects": "^6.0.1",
     "@ngrx/store": "^6.0.1",
     "@nguniversal/express-engine": "^6.0.0",
     "@nguniversal/module-map-ngfactory-loader": "^6.0.0",
     "@ngx-share/core": "^6.0.1",
     "@swimlane/ngx-charts": "^9.0.0",
     "@types/algoliasearch": "^3.27.5",
     "algoliasearch": "^3.29.0",
     "body-parser": "latest",
     "canvas-toBlob": "^1.0.0",
     "compression": "latest",
     "core-js": "^2.4.1",
     "cors": "~2.8.4",
     "cropperjs": "^1.0.0-rc",
     "d3": "^4.10.2",
     "dom-autoscroller": "^2.3.3",
     "font-awesome": "^4.7.0",
     "hammerjs": "^2.0.8",
     "lodash": "^4.17.5",
     "ng-lazyload-image": "^4.0.0",
     "ng-pick-datetime": "^5.2.6",
     "ng2-dnd": "^5.0.2",
     "ng2-dragula": "^2.0.2",
     "ng2-file-upload": "^1.2.1",
     "ngrx-store-freeze": "^0.2.0",
     "ngx-clipboard": "^11.1.1",
     "ngx-color-picker": "^6.6.0",
     "ngx-cookie": "^4.0.1",
     "ngx-editor": "3.2.1",
     "ngx-infinite-scroll": "^6.0.1",
     "ngx-page-scroll": "^5.0.0",
     "ngx-slick": "^0.2.0",
     "reselect": "^3.0.0",
     "rxjs": "^6.2.2",
     "rxjs-compat": "^6.2.2",
     "ts-loader": "4.2.0",
     "webpack-cli": "^2.1.4",
     "zone.js": "^0.8.26"
   },
   "devDependencies": {
     "@angular-devkit/build-angular": "~0.7.2",
     "@angular/cli": "6.1.2",
     "@angular/compiler-cli": "6.1.2",
     "@angularclass/hmr": "^2.1.3",
     "@types/compression": "^0.0.36",
     "@types/cors": "^2.8.4",
     "@types/cropperjs": "^1.1.1",
     "@types/d3": "^4.10.1",
     "@types/hammerjs": "^2.0.34",
     "@types/jasmine": "^2.5.47",
     "@types/lodash": "^4.14.104",
     "@types/node": "^7.0.12",
     "@types/uuid": "^3.4.3",
     "@types/youtube": "^0.0.30",
     "codelyzer": "^4.0.1",
     "concurrently": "^3.5.0",
     "express": "^4.15.4",
     "jasmine-core": "~2.5.2",
     "jasmine-spec-reporter": "~3.2.0",
     "karma": "~1.4.1",
     "karma-chrome-launcher": "~2.0.0",
     "karma-cli": "~1.0.1",
     "karma-coverage-istanbul-reporter": "^0.2.0",
     "karma-jasmine": "~1.1.0",
     "karma-jasmine-html-reporter": "^0.2.2",
     "prettier": "^1.14.2",
     "protractor": "~5.1.0",
     "ts-node": "^3.0.2",
     "tslint": "^5.7.0",
     "tslint-eslint-rules": "^4.1.1",
     "typescript": "2.9.2"
   }
}

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2018-08-16 11:50:12

解决了这个问题。我总是假设first()会自动取消订阅,所以不需要手动取消订阅。但是使用.withBrowserTransition时,我的主要应用程序组件在我的第一个()完成之前就被销毁了,所以我需要手动取消订阅。

票数 0
EN

Stack Overflow用户

发布于 2019-04-20 01:29:00

要找到触发它的原因,可以在EmptyErrorImplvendor.js中放置一个断点。

然后,一旦触发,您就可以查看调用堆栈,以尝试查看堆栈变量,这些变量可能会提供失败原因的线索。您很可能不会在堆栈跟踪中显式地看到您自己的代码文件,这是因为角的异步性质--但是您可以使用这个方法来获取线索并跟踪源代码。

不过,我必须谨慎地补充,对于路由,角使用EmptyError进行流控制。所以,不要仅仅因为您获得了一个EmptyError,它实际上是不可恢复的-它在这里用于检测一个不匹配的路由列表(通过捕获错误):

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51848296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档