我有一个名为codigo
的数组,我.push
有.map()
内的一些数据。
当我在console.log(codigo);
中放置map()
时,结果是正确的,但是当我将控制台日志放在.map()
之外时,结果为空。
let pre = '';
let cod = [];
devPre.map(async (item) => {
pre = await models.pres.findOne({
where: {
id: item.pres_id,
},
});
cod.push(pre.codPre);
console.log(cod); // This return the correct values
});
console.log(cod); // This return [], this is my error
我需要外部console.log
返回正确的值,就像其他console.log
一样。
答案 0 :(得分:2)
等待你正在检索的所有值的Promise.all:
const allPromises = devPre.map((item) => {
return models.pres.findOne({
where: {
id: item.pres_id,
},
});
});
const pres = await Promise.all(allPromises);
const cod = pres.map(pre => pre.codPre);