我的項目中有兩種模式:申請人和公司。 創建,驗證和刪除用戶發生在同一個API中。 所以,我有一箇中間件,通過它的會話ID來解析用戶模型。例如,它將用於獲取當前用戶,首先我們通過其ID接收用戶,然後發送它。 我的代碼如下:如何通過API獲取用戶
getUserByID(req, res, next) {
if (req.session.user_id) {
async.race([
(callback) => {
Applicant.findOne({_id: req.session.user_id})
.catch(() => {
return apiHelper.handleError(res, 'Unknown error', 'Can not find user')
})
.then(callback)
},
(callback) => {
Company.findOne({_id: req.session.user_id})
.catch(() => {
return apiHelper.handleError(res, 'Unknown error', 'Can not find user')
})
.then(callback)
}
],
(user) => {
if (user) {
res.locals.currentUser = user;
next()
}
return apiHelper.handleError(res, 'User not found', 'Can not log in', 400)
});
} else {
apiHelper.handleError(res, 'Not authed', 'Please, log in', 400)
}}
我有測試此路線和問題是,測試通過隨機,隨機沒有。我想這是因爲我使用的模塊異步或smthg它
你使用'async.race()'的原因是什麼?用戶是申請人還是公司? – Mikey