【发布时间】:2016-05-04 05:39:48
【问题描述】:
我正在使用 Promise 和 Express。
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();肯定不是你想要的。 -
是的,您正在重新调整 Promise。我们需要做类似
username.then(function(data){console.log(...)}); -
你能重新写一下吗?提前致谢
-
@Bergi 我该怎么办?
-
你了解 Promise 的概念吗?因为看起来首先你需要了解它背后的一些概念......
标签: node.js express mongoose promise synchronous