以下是我调试的Redux代码片段,真的没什么特别的。我的问题是在Chrome开发工具中调试它。
问题是在回调.then(({ data }) => dispatch({
中设置断点(bp)。我可以在这一行上设置一个bp,但由于箭头函数调度,我无法在此函数中的user: data.results[0],
上设置bp。
如何设置bp以便我可以检查data
或data.results[0]
我可以以某种方式调试到承诺链吗?
export const login = (username, password) => (dispatch) => {
return dispatch({
type: LOGIN,
payload: {
username,
password,
}
})
.then(({ data }) => dispatch({
type: LOGIN_SUCCESS,
payload: {
user: data.results[0],
},
}))
.catch((error) => {
dispatch({
type: LOGIN_FAIL,
payload: {
error: error.message,
},
});
});
};
答案 0 :(得分:0)
用以下文字替换.then函数:
.then(function({ data }) {
dispatch({
type: LOGIN_SUCCESS,
payload: {
user: data.results[0],
},
})
})
现在你应该可以调试了。
您可以参考JavaScript promise resolving with setTimeout了解=>和function(){}
答案 1 :(得分:-3)
你试过吗
debugger;
它与断点相同,但不要忘记在调试后删除=)