我在使用Express与Promise。
router.post('/Registration', function(req, res) {
var Promise = require('promise');
var errorsArr = [];
function username() {
console.log("1");
return new Promise(function(resolve, reject) {
User.findOne({ username: req.body.username }, function(err, user) {
if(err) {
reject(err)
} else {
console.log("2");
errorsArr.push({ msg: "Username already been taken." });
resolve(errorsArr);
}
});
});
}
var username = username();
console.log(errorsArr);
});
当我打印errorsArray
时,它是空的,而我不知道原因。我是node.js的新手。提前致谢。
username = username();
这行代码肯定不是你想要的。 - Bergiusername.then(function(data){console.log(...)});
的事情。 - anolsi