0
我在嘗試一個非常基本的事情 - 在數據庫中找到一個用戶並返回某個特定找到記錄的字段之一。我想使用承諾,部分用於教育目的。在貓鼬中返回一個承諾的價值
var username = "user1" // assuming this exists: User({username: "user1", city: "London"})
function getUser(username) {
var promise = User.findOne({username: username}).exec();
var output = promise.then(function(user) {
return user.city;
}).catch(function(err) {
console.log(err);
});
return output;
}
用上面給出的代碼,假設有一個用戶給定的數據,輸出變量仍然是一個承諾。我怎樣才能得到它的實際價值?我有一個預感,我的問題是與返回語句不是異步,即我實際上解決之前返回輸出。什麼是返回值的正確方法?