2016-08-21 2 views
0

Я пытаюсь разрешить пустой массив:Bluebird Promise решить с парусами

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([]); 
     } 
    }); 
}; 

и он работает, но мои паруса консоль заканчивает вход неопределенным, когда решительность ([]) происходит.

Что я делаю неправильно?

+0

Вы должны показать, где и как вы вырубку. –

ответ

1

Я бы предложил переписать так:

function getAncestors(parentId) { 
    if (!!parentId) { 
     return Category.findOne(parentId).then(function(parent) { 
      parent.ancestors.push(parentId); 
      return parent.ancestors; 
     }); 
    } else { 
     return Promise.resolve([]); 
    } 
}; 
Смежные вопросы