记录项目中的问题,不说明理论知识点
说明:先加载菜单后,跳转首页,发现这么写会有,点击登陆后并没有跳转,而且报错。再次刷新页面,可以跳转到想去的页面。问题是:util.initRouter()里边有一个请求接口的异步操作。导致执行跳转代码的时候,菜单还未加载完成。因此不能正常跳转
解决方案:使用promise。对应的util.initRouter()函数返回一个promise对象
此处需要注意在axios.get().then(() => {
原来代码执行逻辑不变。
在最后面加一个
resolve()
})
总结:promise解决异步问题。在调取接口的函数中,return一个promise对象,然后在then()函数中,执行完成代码后,加上resolve()。