比如获取到新数据,想对新数据进行操作。却发现操作的还是老数据。
getData() {
aaa().then(res => {
console.log(res)
//对res进行操作
this.table = res
})
this.table.indexOf('杭州')
//却发现对this.table操作的还是老数据
//但是,打印出来的是新数据。
}
原因在于,数据获取是异步操作,JavaScript会优先执行同步操作,对于异步操作会后于执行。
所以解决方法是把 this.table.indexOf('杭州') 放入then()中。then会按顺序执行语句。