Javascript chromedev工具中的调试技术
下面是我正在调试的Redux代码片段,没有什么特别之处。我的问题是如何在Chrome开发工具中调试它 问题是在回调Javascript chromedev工具中的调试技术,javascript,google-chrome,ecmascript-6,promise,Javascript,Google Chrome,Ecmascript 6,Promise,下面是我正在调试的Redux代码片段,没有什么特别之处。我的问题是如何在Chrome开发工具中调试它 问题是在回调中设置断点(bp)。然后({data})=>dispatch({。我可以在此行上设置bp,但由于使用了箭头函数dispatch,我无法在此函数中设置user:data.results[0],上的bp 如何设置bp,以便检查数据或数据。结果[0] 我可以调试到承诺链中吗 export const login = (username, password) => (dispatch)
中设置断点(bp)。然后({data})=>dispatch({
。我可以在此行上设置bp,但由于使用了箭头函数dispatch,我无法在此函数中设置user:data.results[0],
上的bp
如何设置bp,以便检查数据
或数据。结果[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,
},
});
});
};
你试过了吗
debugger;
?
与断点相同,但不要忘记在调试后删除=)替换。然后使用下面给出的文本执行函数:
.then(function({ data }) {
dispatch({
type: LOGIN_SUCCESS,
payload: {
user: data.results[0],
},
})
})
现在您应该可以调试了
您可以参考了解=>和函数(){}为什么不用与.catch相同的方式将调用
dispatch
的语句用大括号括起来呢?然后它是一个单独的语句,您可以在上面断点。是的,最终的代码不一定需要它,但好的代码也让您可以轻松调试-使用最简单的方法,而不一定是最干净的代码ome现在可以了。虽然在使用sourcemaps时对我不起作用-但您可能会获得更多成功Cheers James&CodingTrigue这将是多余的。为了引入调试器;
语句,您需要引入一个代码块。无论如何,您都可以在该代码块上设置断点。。。