Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript chromedev工具中的调试技术_Javascript_Google Chrome_Ecmascript 6_Promise - Fatal编程技术网

Javascript chromedev工具中的调试技术

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)

下面是我正在调试的Redux代码片段,没有什么特别之处。我的问题是如何在Chrome开发工具中调试它

问题是在回调
中设置断点(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这将是多余的。为了引入
调试器;
语句,您需要引入一个代码块。无论如何,您都可以在该代码块上设置断点。。。