小编Tom*_*lez的帖子

等待一个事件来解决一个承诺

我正在使用一个 node.js 模块,它有一个没有回调的方法。取而代之的是,有一个在该方法完成时触发的事件。我想解决一个承诺,使用该事件作为回调确保该方法已成功完成。

array.lenght on promise 可以是 X。所以,我需要“听到”X 次事件以确保所有方法都成功完成<--这不是问题,我只是告诉你我知道这可能发生

事件 :

tf2.on('craftingComplete', function(recipe, itemsGained){
  if(recipe == -1){
  console.log('CRAFT FAILED')
  }
  else{
        countOfCraft++;
    console.log('Craft completed! Got a new Item  #'+itemsGained);
  }
})
Run Code Online (Sandbox Code Playgroud)

承诺:

const craftWepsByClass = function(array, heroClass){
        return new Promise(function (resolve, reject){

            if(array.length < 2){
                console.log('Done crafting weps of '+heroClass);
                return resolve();
            }
            else{
                for (var i = 0; i < array.length; i+=2) {
                    tf2.craft([array[i].id, array[i+1].id]); // <--- this is the module method witouth callback
                }
        return resolve(); // …
Run Code Online (Sandbox Code Playgroud)

javascript events resolve node.js promise

4
推荐指数
1
解决办法
8636
查看次数

标签 统计

events ×1

javascript ×1

node.js ×1

promise ×1

resolve ×1