我正在使用node.js和mongoose處理Restful API。我需要返回一個搜索結果的對象。這裏是我的代碼:返回貓鼬模型函數的結果
var Get = function (criteria) {
var result;
Users.findOne(criteria, function(err, res){
console.log('Error: ' + err);
console.log('Results: ' + res);
result = err || !res ? err || errors['404']: res;
console.log(result);
});
console.log('Final results: ' + JSON.stringify(result));
return result;
};
因爲我有問題,我說那些console.logs看,結果就是失去了。下面是日誌:
Final results: undefined Error: null Results: { //user... }
我需要的結果返回。我該如何解決這個問題?
[如何從異步調用返回響應?](http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous-call) –
注意:A未來可能的選擇將使用['await'](https://github.com/tc39/ecmascript-asyncawait)與使用[ES6'Promise's](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Global_Objects/Promise),前提是MongoDB的客戶端API開始使用這些API。 –
感謝您的注意。我會檢查它。 – Leo