javascript – 带有子路由器的Aurelia-Router显示警告

我有以下代码,基本上是app.js中的主路由器和仪表板js中的子路由器.每当我转到根URL“/”时,我会在浏览器控制台中收到警告.我不明白这里的问题是什么,重定向甚至工作正常,一切都显示出来,但我仍然得到这个巨大的警告,告诉我出了什么问题.我错过了什么?任何帮助赞赏.

浏览器控制台警告

Warning: a promise was rejected with a non-error: [object Object]
    at _buildNavigationPlan (http://localhost:9000/scripts/vendor-bundle.js:14942:22)
    at BuildNavigationPlanStep.run (http://localhost:9000/scripts/vendor-bundle.js:14922:14)
    at next (http://localhost:9000/scripts/vendor-bundle.js:14488:20)
    at Pipeline.run (http://localhost:9000/scripts/vendor-bundle.js:14501:14)
    at http://localhost:9000/scripts/vendor-bundle.js:16050:25
From previous event:
    at AppRouter._dequeueInstruction (http://localhost:9000/scripts/vendor-bundle.js:16023:32)
    at http://localhost:9000/scripts/vendor-bundle.js:16014:17
From previous event:
    at AppRouter._queueInstruction (http://localhost:9000/scripts/vendor-bundle.js:16011:14)
    at http://localhost:9000/scripts/vendor-bundle.js:15945:23
From previous event:
    at AppRouter.loadUrl (http://localhost:9000/scripts/vendor-bundle.js:15944:53)
    at BrowserHistory._loadUrl (http://localhost:9000/scripts/vendor-bundle.js:11474:55)
    at BrowserHistory._checkUrl (http://localhost:9000/scripts/vendor-bundle.js:11467:14)

app.js

export class App {
  configureRouter(config, router) {
    this.router = router;

    config.map([
      { route: '', redirect: 'dashboard' },
      { route: 'dashboard', name: 'dashboard', title: 'Dashboard', moduleId: 'views/dashboard', auth: true }
    ]);
  }
}

app.html

<template>
  <require from="material-design-lite/material.css"></require>
  <router-view></router-view>
</template>

dashboard.js

export class Dashboard {
    configureRouter(config, router) {
        this.router = router;

        config.map([
            { route: 'fairs', name: 'fairs', title: 'Messen', moduleId: 'views/fairs', nav: true },
            { route: '', redirect: 'fairs' }
        ]);
    }

    attached() {
        componentHandler.upgradeAllRegistered();
    }
}

dashboard.html

<template>
    <router-view></router-view>
</template>

解决方法:

我正在研究同样的事情,我认为它是故意写的.导致警告的代码来自组成AppRouter对象的长链承诺.

由于重定向步骤由该链中的不同方法处理,当它到达BuildNavigationPlanStep.run(…)步骤时,该特定承诺被拒绝,因为它在上游被处理(RedirectToRoute.navigate(…)).在阅读堆栈跟踪后,这是我最好的猜测.

我假设从Bluebird promise api打印到控制台的警告,但我不是100%肯定.

相关文章

最后的控制台返回空数组.控制台在ids.map函数完成之前运行va...
我正在尝试将rxJava与我已经知道的内容联系起来,特别是来自J...
config.jsconstconfig={base_url_api:"https://douban....
我正在阅读MDN中的javascript,并且遇到了这个谈论承诺并且不...
config.jsconstconfig={base_url_api:"https://douban....
这是我的代码main.cpp:#include<string>#include<...