@halalala

Как правильно возвращать промис?

Здравствуйте,недавно начал изучать promises,да и вообще node js и столкнулся с такой проблемой.
У меня есть,например,модель user и такая функция-
function findAll() {
	user.find()
	.then(function(doc) {
		return user.find();  //(1)
                 // Да это глупо,но тут просто для примера так сделано
	});
}


И вот эту функцию я хочу использовать в следующей конструкции:
Promise.resolve()
	.then(function() {
		return findAll();  //(2)
		
	})
	.then(console.log);


Выведется undefined.
Вопрос следующий:почему?
У меня есть одно предположение,что получается промис,которыйй я возвращаю (1) спускается по цепочке then-ов дальше в функции findAll, и в (2) всего навсего не приходит.
Спасибо за внимание.
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
На сколько я помню если user.find() возвращает промис, то его нужно вернуть. Тоесть должно быть примерно следующее:
function findAll() {
  return user.find()
  .then(function(doc) {
    return user.find();  //(1)
                 // Да это глупо,но тут просто для примера так сделано
  });
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы