Javascript nodeJs和express.js使用asyc.瀑布流控制库挂起post请求
我的post请求在google chrome的网络检查中挂起,但是我调用了res.send()来释放async.瀑布()函数中的post请求以结束post请求?有什么提示可以实现这一点吗 这是我的register.js文件的代码Javascript nodeJs和express.js使用asyc.瀑布流控制库挂起post请求,javascript,node.js,express,Javascript,Node.js,Express,我的post请求在google chrome的网络检查中挂起,但是我调用了res.send()来释放async.瀑布()函数中的post请求以结束post请求?有什么提示可以实现这一点吗 这是我的register.js文件的代码 exports.createUser = function(req,res){ var email1 = req.body.mail.toString(); var password = req.body.password.toString();
exports.createUser = function(req,res){
var email1 = req.body.mail.toString();
var password = req.body.password.toString();
async.waterfall([
function(callback){
// verify user in the db
User.find({email:email1},function(err,data){
if (err){
res.send(404);
return callback(err);
}
// user is found
if (data.length != 0){
res.send(404);
return callback(new Error("User Found"));
}
callback();
});
},
// generate salt password
function(callback) {
bcrypt.genSalt(SALT_WORK_FACTOR,function(err,salt){
if (err) return callback(err);
bcrypt.hash(password,salt,function(err,hash){
if (err) return callback(err);
return callback(null,hash);
});
});
},
//generate random string
function(hash,callback){
crypto.randomBytes(48,function(err,buf){
if (err) return callback(err);
var randomString = buf.toString('hex');
return callback(null,hash,randomString);
});
},
// save them in the mongoDb using mongoose
function(hash,randomString,callback){
userModel.email = email1;
userModel.password = hash;
userModel.verificationId = randomString
userModel.save();
callback(null,'done');
}
],function(err){
if (err){
console.log(err);
res.send(404);
} else{
console.log("done");
res.send("200");
}
});
}
这是我的app.js代码
// render the registration page
app.get('/users/create',register.renderUserPage);
app.post('/users/create',function(req,res){
register.createUser(req,res);
});
您是否在控制台上看到
done
/您如何验证res.send
是否已被调用?不,我在控制台中没有看到done。函数(err)没有被调用。那么,当你说“但是我调用了res.send()”,这是基于什么,你怎么知道你调用了res.send?