这是我的componentWillMount函数中的代码:
if(expression) {
let path = '/something;
browserHistory.push(path);
}
let tokens = CookiesWrapper.getCookie('tokens');
if (!tokens) {
browserHistory.push('/login');
}
当我调试时,我看到了使用browserHistory.push方法的奇怪行为,它看起来代码是异步执行的。
说到第3行。代码继续执行第4行和第5行,它在调用push方法后不会立即重定向。有没有想过为什么会这样?
答案 0 :(得分:2)
如果您不使用return
,解析器将继续执行代码(在这种情况下,它将继续执行您的let
声明和if
声明)。
if(expression) {
let path = '/something';
return browserHistory.push(path);
}
let tokens = CookiesWrapper.getCookie('tokens');
if (!tokens) {
return browserHistory.push('/login');
}