Насколько я понимаю, функции обратного вызова являются асинхронными и не могут возвращать значения, как обычные функции. Прочитав об обещаниях, я понял, что хорошо понял их, что в основном они представляют собой расширенную версию обратных вызовов, которая позволяет возвращать значение, подобное асинхронной функции. В моем методе getConnections
я пытаюсь вызвать функцию find()
в моей базе данных через mon goose, и я пытаюсь получить этот массив объектов и отправить его в представления.
var test = new Promise((resolve, reject) => {
Database.find().then(list => {
resolve(list);
}).catch(err=> {
return reject(err);
})
})
console.log(test)
Когда я пытаюсь войти в консоль вне функции обещания, я получаю Promise { _U: 0, _V: 0, _W: null, _X: null }
Я не думаю, что это работает правильно, и я думал, что использовал обещания правильно. Может ли кто-нибудь указать мне правильное направление о том, как вернуть этот массив объектов вне функции обратного вызова?