0
我是Nodejs的新手。進程不等待,直到從功能迴應。由於Nodejs的異步調用。如何使同步。請幫幫我。在Nodejs中,如何等待進程直到從功能迴應
這裏是我的代碼
module.exports.signup = function(req, res){
console.log('signup');
User.findOne({'emails.email' : req.body.email}, function(err, doc) {
if (doc === null) {
var vr_token= genRandomString(16);
var ex_date = Date.now();
var user = new User();
user.emails.push({
email : req.body.email,
email_verification_token : vr_token,
verify_key_expire : ex_date });
user.save(function(err2,user1) {
if (!err2) {
var result = send_email.sync(vr_token);//process not waiting
if(result) {
res.json ({
status: 200,
message:"mail sent successfully",
data:user1
})
}
}
});
}
})
}
這裏是我的功能
function send_email(vr_token){
var mailOpts = {
from: process.env.Mail_From_Addr,
to: 'xxxxxxxxxxxxx',
subject: 'Verify Your New Account Email',
html:'<p>Hello,</p>code : '+vr_token
};
mailgun.messages().send(mailOpts, function (err, response){
if (!err){
return true;
}else{
return false;
}
})
}
您使用的是哪個版本的'nodejs'? – Malice
我正在使用v6.11.2 – siva
嘗試承諾/異步,以避免這種回調地獄 – saurabh