Я использую как _.map
, так и async.map
в части узла приложения, над которым я работаю. Я использую эти библиотеки вместе с некоторыми путаницами.с использованием _.map и async.map вместе
У меня есть массив массивов называется results
, который выглядит примерно так:
[[1, 2, 3], [2, 4, 6], [1, 3, 5]]
Я хотел бы использовать _.map
для доступа к каждому внутреннему массиву, а затем async.map
сделать вызов API для каждого значения в пределах каждого из этих внутренних массивов. Затем я хотел бы использовать результаты этого вызова API, чтобы заменить каждое целое число внутри моих внутренних массивов на объект.
Итак, в конце мой массив массивов целых чисел вместо этого будет массивом массивов объектов на основе результатов вызова API.
[[{id: 1, email: '[email protected]', state: 'active'}], ...]
Это текущий код, который у меня есть, и я считаю, что я на правильном пути. Мой первый console.log
дает мне объект Я прицеливание для, но вторые просто возвращает целое число:
_.map(results, function(result) {
async.map(result, function(user, callback) {
db.users.getById(user, function(err, userDetails) {
if (err) {
callback(null, null);
} else {
user = _.pick(userDetails, 'id', 'email', 'state');
console.log(user);
}
});
console.log(user);
})
});
где вы его регистрируете? – Mathletics
@Mathletics, Добавлены журналы в код в моем исходном вопросе. – MattDionis
Вы регистрируете 'user' до завершения операции async' getById', поэтому, конечно, это все же вход. – Mathletics