Я хотел бы получить совет. В моем стеке nodeJS / Mon go одному из моих API отдыха требуется время для возврата, поскольку он выполняет цепочки операций перед возвратом результатов. Но для некоторых операций меня не беспокоит возвращение статуса того же. Поэтому мой вопрос: нормально ли, чтобы REST API возвращал результат до завершения всех операций, вместо этого подождите только основные операции.
Мой исходный код такой.
router.post('/updateStatus’, validateToken, function(req, res) {
if (req.body.hasOwnProperty(‘param1’) && req.body.hasOwnProperty(‘param2’) ) {
statusCollection.updateStatus(req.body.param1, req.body.param2,function (err, out) {
reportCollection.updateReport(req.body.param1, req.body.param2,function (err, out) {
var result = {status:200, data:out};
res.json(result);
} );
} );
} else {
res.status(422);
res.json({error:'Missing required params'});
}
});
I хотел бы изменить как:
router.post('/updateStatus’, validateToken, function(req, res) {
if (req.body.hasOwnProperty(‘param1’) && req.body.hasOwnProperty(‘param2’) ) {
statusCollection.updateStatus(req.body.param1, req.body.param2,function (err, out) {
var result = {status:200, data:out};
res.json(result);
//***************Will continue in After returning API ********************
reportCollection.updateReport(req.body.param1, req.body.param2,function (err, out) {} );
} );
} else {
res.status(422);
res.json({error:'Missing required params'});
}
});
т.е. я верну результат после statusCollection.updateStatus () и не дожидаюсь, пока reportCollection.updateReport (). Это нормально?