triviaCtrl.answer = function(req, res) {
//console.log(req.query.name);
var data = {};
var pointdata = {};
var datas = {
"Status": 0,
"Message": ""
};
return new Promise((resolve, reject) => {
var newAnswer = function(cb) {
data.questionId = req.query.questionId;
data.userId = req.query.userId;
data.correctAnswer = req.query.correctAnswer;
data.userAnswer = req.query.userAnswer;
data.type = req.query.type;
data.point = req.query.point;
Answer.create(data, cb);
}
var checkuserpoint = function(cb) {
Point.findOne({
userId: req.query.userId
}, function(err, result, cb) {
if (result) {
result.availablePoint = Number(result.availablePoint) + Number(req.query.point);
result.totalWinPoint = Number(result.totalWinPoint) + Number(req.query.point);
result.save(cb);
} else {
pointdata.userId = req.query.userId;
pointdata.totalWinPoint = req.query.point;
pointdata.redeemPoint = 0;
pointdata.availablePoint = req.query.point;
Point.create(pointdata, cb);
}
});
}
async.waterfall([newAnswer, checkuserpoint], function(err, result) {
if (err) {
//reject(err);
datas["Status"] = 0;
datas["Message"] = err;
res.json(datas);
} else {
datas["Status"] = 1;
datas["Message"] = result;
res.json(datas);
}
});
});
}
如果我从那里删除“newAnswer,checkuserpoint”一个函数,它正在工作,但是当我一起使用它时,它不会给出任何响应。但功能正常异步回调不能正常呼叫
我没有看到你曾经“解决”或“拒绝”你回报的诺言。 – Thomas