Aureliajs在哪里Promise.race([

时间:2016-08-24 16:47:20

标签: aurelia aurelia-framework

为什么Promise.race([...在当前版本的aurelia中未定义?

您可以在Error handling for fetch() in Aurelia

中看到其使用的一个很好的示例

3 个答案:

答案 0 :(得分:2)

在我的aurelia-app构建中使用aurelia-cli只捆绑了Bluebird核心,但Promise.race仅包含在完整版本中。

在aurelia.json的#34; prepend"部分中,更改" bluebird.core.js"到" bluebird.min.js"

"prepend": [
      "node_modules/bluebird/js/browser/bluebird.min.js",
      ...
    ],

答案 1 :(得分:1)

浏览器或您提供的polyfill支持

Promise.race。 Aurelia不提供Promise polyfill。您可以使用Bluebird(如骷髅一样),或者如果您不需要支持旧版浏览器,则可以使用内置的Promises。可以在此处找到Promise.race的当前浏览器支持:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/race

答案 2 :(得分:1)

好的,根据Asheley的评论,我能够弄清楚。我按照他的建议使用了蓝鸟:

aurelia.json
     ...{
        "name": "bluebird",
        "path": "../node_modules/bluebird/js/browser/bluebird.min"
      },...

课堂内:

...
import {Promise} from 'bluebird';
...
   Promise.race([ // is now available
...