Эй, поэтому я использую серию async для создания массива с пользователем, найденным в результате поиска, чтобы просмотреть его, и посмотреть, являются ли они частью массива запросов друга пользователь вошел в систему. Однако по какой-то причине он всегда заканчивается как ложный, кто-нибудь замечает что-то неправильно с кодом ниже?Async series отвечает ложным, когда это должно быть верно
Вот код для файла маршрута:
exports.searchPost = function(req, res, err) {
User.find({$or:[
{firstName: req.body.firstName},
{lastName: req.body.lastName},
{email: req.body.email},
{phone: req.body.phone}]
}, function(err, users, userAdd) {
if(err) {
return res.render('searchError', {title: 'Weblio'});
} else {
if(req.body.firstName=== '' && req.body.lastName==='' && req.body.email==='' && req.body.phone=== '') {
//maybe a diff page saying that is not a valid search page
return res.render('searchError', {title: 'Weblio'});
} else {
var userAdd,
series = [];
console.log('addman');
users.forEach(function (user) {
series.push(function (callback) {
User.findById(req.signedCookies.userid, {
friendRequest: user._id
}, function() {
if (user._id === true) {
console.log('addman1');
return callback(null, [user, true]);
} else {
console.log('addman2');
console.log(user._id);
return callback(null, [user, false]);
}
});
});
});
async.series(series, function (err, results) {
//results should be an in order array of values;
console.log(results);
return res.render('searchResults', {title: 'Weblio',
userAdded: results
});
});
}
}
});
};
BTW, вы можете заменить 'forEach()'/'push()' на 'map()'. – SLaks
Изменит ли он неправильный результат, хотя по какой-то причине я просто продолжаю получать false – Lion789