我有一个异步循环来检查一个数组,如果找到一个特定的值,它会循环另一个数组以匹配建立的值。
所以我的第一个实现。我打开一个异步循环并从数据库中获取我的数据
mergedObject = [];
array1.forEach(async (item) => {
if (item.id == 'XXX') {
const dbInfo = await readDB();
数据库信息,我想推入一个数组并构建一个 json 对象。
dbInfo.forEach(async (itemDB) => {
object.push({
id,
name,
..
..
在循环结束时,我将新对象与“旧”对象合并
mergedObject = _.map(oldObject, (objs) => {
_.assign(objs, _.find(object, {
id: objs.id,
}));
});
我遇到的问题是,在 forEach 中我正确地获取了日志。但是如果我想在 forEach (array1) 之外使用 mergeObject 我得到log: []
这是我第一次尝试异步。我以前使用过回调。如何访问 forEach 之外的合并对象?
异步/等待不适用于 forEach。使用 for in、for of 或传统的 for 循环。参考这个在 forEach 循环中使用异步/等待
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句