javascript-破坏的麻烦

javascript-破坏的麻烦,javascript,node.js,axios,Javascript,Node.js,Axios,有一个if条件 结果显示在console.log中,它们不打印任何内容,并显示在浏览器控制台上 TypeError:无法读取未定义的属性“to” 我被警告需要是对象内部的析构函数对象 instance.interceptors.response.use( (res)=>{ const{pathname}=window.location; const isRedirect=res.status==HTTP\u临时\u重定向; const data={isRedirect,data:res.dat

有一个if条件

结果显示在
console.log
中,它们不打印任何内容,并显示在浏览器控制台上
TypeError:无法读取未定义的属性“to”
我被警告需要是对象内部的析构函数对象

instance.interceptors.response.use(
(res)=>{
const{pathname}=window.location;
const isRedirect=res.status==HTTP\u临时\u重定向;
const data={isRedirect,data:res.data};
if(isRedirect){
log(`pathname:${pathname}`);
log(`isRedirect:${isRedirect}`);
常量{redirectDataSource:{to:redirectRoute,…redirectData}
常数{
重定向数据源:{到:重定向路由,…重定向数据},
}=res.data.error | | res.data;
log(`redirectRoute:${redirectRoute}`);
log(`redirectDataSource:${redirectDataSource}`);
}
返回承诺。解析(数据);
},

如果未定义,则需要为
重定向数据源添加默认值

let res={
数据:{
错误:未定义,
重定向数据源:未定义
}
}
常数{
重定向数据源:{
收件人:重定向路线,
}={to:'defaultValue'}
}=res.data.error | | res.data;

console.log(redirectRoute)
您需要为
redirectDataSource设置默认值
我为您创建了一个代码段。请添加缺少的vars@MarkusZeller@MarkusZeller当您使用对象解构赋值时,您的变量名位于
{}
const{name}={id:1,name:“Fred”}
@MarkusZeller好吧,从技术上讲,阵列解构是ES6中唯一的一个,后来正式添加了对象解构。但我认为两者都是并行不悖的,只是ES6规范最终确定时没有对象解构(以及当时广受支持的其他功能)。代码狂热者说需要将defaultValue设置为redirectDataSource,他回答说,他将defaultValue设置为redirectRoute,我不需要这样做,因为在所有这些之后,页面将被重定向。@VagnerWentz如果你不需要to的值,你只需将{to:'defaultValue'}替换为{Code>{}`