我有一个名为setupChannel的函数,它采用" socket"作为参数。我正在使用redux-thunk,因此setupChannel返回一个匿名函数,其中dispatch和getState作为参数。在匿名函数内部,调试器说socket是未定义的,除非我在函数中对socket进行了特定的引用。
使用调试器时,socket 未定义:
export const setupChannel = socket => {
return (dispatch, getState) => {
debugger;
}
}
此处socket是在我console.log it
时定义的export const setupChannel = socket => {
return (dispatch, getState) => {
console.log(socket);
}
}
当我简单地调用一个方法时,也定义了套接字:
export const setupChannel = socket => {
return (dispatch, getState) => {
socket.connect();
}
}
所以我的问题仍然存在,为什么我在调试器中弹出或者可能在我没有引用它时它是不确定的?