先定义了一个长度为2 的数组,由于后端写了一个方法,所以在.then()里push这个数组。
当方法执行后console.log这个新的数组,发现显示元素个数还是2,但展开之后里面有三个元素,length也显示为3。
这样的话我用list[2]是undefined,拿不出来添加的元素。
有什么解决办法吗。
先定义了一个长度为2 的数组,由于后端写了一个方法,所以在.then()里push这个数组。
当方法执行后console.log这个新的数组,发现显示元素个数还是2,但展开之后里面有三个元素,length也显示为3。
这样的话我用list[2]是undefined,拿不出来添加的元素。
有什么解决办法吗。
取list[2]的代码要放到then push代码后,看到控制台的感叹号了吗,提示对象被修改过,因为console.log打印当时的值,如果后续被修改后展开就有感叹号
使用到then都是异步执行的,如果获取list的代码放到then外面,异步没返回就已经执行获取list[2]的代码了,是无法获取到的,为undefined