在项目中发现 setTimeout() 有时执行有时不执行 发现是this指针的问题
setTimeout() 方法中 this 指针丢失的问题。通过使用 let _this = this; 或 ES6 的箭头函数来保留正确的上下文,确保定时器能够正确执行页面跳转。
let _this = this;
setTimeout(function(){_this.$router.go(-1);
},500);
this
在异步操作中的指向
在某些异步操作中,比如setTimeout
、setInterval
或者使用.then()
的Promise时,this
的指向可能会改变。这是因为JavaScript的函数调用是词法作用域,而不是由对象的方法调用决定的。