请教forEach循环问题?

const field = {}
      let rulrname = ''
      chars.forEach(item => {
        rulrname = item.ruleName
        field[item.field] = item.value
        console.log(field[item.field])
        if (item.field == 'on_clause') this.onClause = JSON.parse(item.value)
      })
      console.log('field', field)

网速好的时候,field中循环出的属性和值都在,浏览器设置网速慢的时候1668251581879.png,在循环中打印出来的console.log(field[item.field])属性是都有的,单独打印console.log('field', field),src_datasource、target_datasource为null,请问是什么原因,浏览器设置网速正常没有问题。

阅读 997
2 个回答

业务代码没有贴完整,你这个我猜的是由于你的 field 或者 chars 是异步获取的数据。
因该是 field 是异步获取的,如果 chars 是异步获取的应该会直接跳过。

所以需要保证你的 forEach 在执行时,你的异步数据都已经成功返回了。

forEach基本不关网络的事,大概率是你有代码中有异步操作导致了数据时有时无

PS:建议上async/await大法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题