异步循环不返回值

卡波

我有一个异步循环来检查一个数组,如果找到一个特定的值,它会循环另一个数组以匹配建立的值。

所以我的第一个实现。我打开一个异步循环并从数据库中获取我的数据

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章