数组有值但是console.log出来却为空 ------ 异步后发先到问题解决

1、问题描述
今天在做数据绑定的时候,遇到一个问题,我很确定前端json数组中有很多数据,但是我将值绑定到el-select的option中的时候,总是没有数据,控制台输出之后发现,数组确实为空,但是为什么呢??? 还好,这问题别人也遇到了,因此超级惊喜,打开了新大陆。异步后发先到问题

2、问题分析
有两行代码:

第一行:给数组a赋值  //确定a有值,以及在前端显示了
第二行:在另一个函数将取出a中得值,全部push到b中 //打印为空

分析:代码肯定没有问题,但是为空,只有一个原因就是:给需要的数组赋值的代码提前运行了(也就是说在给b赋值的时候a里面一个)。官方说法:异步后发先到问题
我的解决方法是:给后发代码加一段延迟,确保按照顺序执行那两段代码。

 setTimeout(() => {
      // 在这里面插入必须在后面执行的代码
      this.copyTableData() 将table数组的值copy到 另一个数组,里面打印两个数组
    }, 500) // 0.5秒后执行代码
  },

这样之后就能顺利绑定数据了,将数组打印出来也有值了。

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值