Vue-router通过push跳转以后,后续的代码还会执行吗?

比如说后台会检查用户的活动状态,如果长时间不活动(一个小时也没有和后台产生交互),后台服务器就会强制其注销,这是安全特性。

在前端,一个函数会检查登录状态,当发现已经注销时,vue-router会通过push跳转到登录页面,那么push跳转后面的代码还会执行吗?

一般来讲,采用防御性风格的话,都是把if判断条件放在前面,一旦发现不对,就会返回一些错误提示。但是vue-router的push不是。

因为程序最上层的单文件组件有一个遮罩层,一般情况下我会通过emit带变量的自定义事件来激活遮罩层,然后通过emit事件中携带的数据通过遮罩层显示出来提示用户。但是如果通过push,就涉及到emit和push谁先谁后的问题。因为如果是需要登录,那么必须要跳转到登录页面以后再显示遮罩层才是合理的。所以如果push后代码不再执行,甚至于emit和push执行的谁快谁慢都可能导致一些问题,毕竟emit的速度是很快的,而push则涉及到目标页面的复杂程度。