hu7*_*7sy 15 synchronous mongoose node.js promise express
我正在使用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);
});
Run Code Online (Sandbox Code Playgroud)
当我记录时errorsArray,它是空的,我不知道为什么.我是node.js的新手.提前致谢.
ano*_*lsi 17
请尝试以下操作,之后请阅读以下文档https://www.promisejs.org/以了解promises的工作原理.
var Promise = require('promise');
router.post('/Registration',function(req,res,next) {
function username() {
console.log("agyaaa");
return new Promise(function(resolve,reject) {
User.findOne({"username":req.body.username}, function(err,user) {
if (err) {
reject(err)
} else {
console.log("yaha b agyaaa");
var errorsArr = [];
errorsArr.push({"msg":"Username already been taken."});
resolve(errorsArr);
}
});
});
}
username().then(function(data) {
console.log(data);
next();
});
});
Run Code Online (Sandbox Code Playgroud)
您也可能有其他错误(或不应该以这种方式完成的事情).我只向你展示了Promise的基本用法.
| 归档时间: |
|
| 查看次数: |
36005 次 |
| 最近记录: |