2016-08-21 3 views
0

Je suis en train de résoudre un tableau vide:Bluebird Promise résoudre avec des voiles

function getAncestors(parentId) { 
    return new Promise(function(resolve, reject) { 
     if (!!parentId) { 
      Category.findOne(parentId).then(function(parent) { 
       parent.ancestors.push(parentId); 
       resolve(parent.ancestors); 
      }).catch(function(err) { 
       reject(err); 
      }); 
     } else { 
      resolve([]); 
     } 
    }); 
}; 

et cela fonctionne, mais termine ma console de voiles lorsque la connexion non définie resolve ([]) arrive.

Qu'est-ce que je fais mal?

+0

Vous devriez montrer où et comment vous faites l'enregistrement. –

Répondre

1

Je suggère de réécrire à ceci:

function getAncestors(parentId) { 
    if (!!parentId) { 
     return Category.findOne(parentId).then(function(parent) { 
      parent.ancestors.push(parentId); 
      return parent.ancestors; 
     }); 
    } else { 
     return Promise.resolve([]); 
    } 
};