Promise.race不是我的Bluebird安装中的功能

时间:2018-09-13 15:26:06

标签: javascript promise electron bluebird

我正在尝试找出我通过Promise.race收到的错误。 这是我的代码:

   function startPromiseRace(data) {
     return Promise.race([executeFirstPromise(data), timeout()]);
   }

然后保证:

function executeFirstPromise(data) {
 return new Promise(function (resolve, reject) {      
 resolve("Promise completed");   
});
}

function timeout() {
  return new Promise((resolve, reject) => {
    let id = setTimeout(() => {
     clearTimeout(id);
    reject(new Error("Timeout limit reached"))
  }, 900);
});
}

我的问题是,当我调用StartPromiseRace时,它启动了promises,但它给了我错误:

Uncaught TypeError: Promise.race is not a function

我正在使用Electron 2.0.9和Bluebird 3.5.2

有没有建议?

P.S在VSCode中,我可以看到Promise.race的定义,但在运行时会显示Promise.race未定义

更新1:在控制台的运行时,除了Promise.race或Promise.any之外,我都可以使用Promise.all导致与上述相同的错误。

更新2:我正在使用npm安装节点模块Bluebird,并在bluebird.core.js内部安装了以下内容:

  
      
  • bluebird构建版本3.5.2
  •   
  • 已启用的功能:核心
  •   
  • 功能已禁用:种族,call_get,生成器,地图,nodeify,promisify,   道具,减少,安顿,一些,使用,计时器,过滤器,任何一个,每个
  •   

在Bluebird 3.5.2中还有另一种使用Promis.race或Promis.any的方法吗?

0 个答案:

没有答案