Javascript-通过console.log进行调试

时间:2019-06-28 08:51:06

标签: javascript eslint console.log

我在js中有这部分代码:

getResults() {
    let par = Object.keys(this.selected_options).map((key)=> {
        return key + '=' + encodeURIComponent(this.selected_options[key]);
    }).join('&');
    console.log(par);
    this.search(par);
}

search(par){
    this.http.get('check?'+par)
    .then(response => this.helper.isJson(response.response) || [])
    .then(data => this.news = data)
    .catch(error => {
        let response = this.helper.isJson(error.response);
        let message = this.helper.getErrorMessage(error.statusCode, response);
    });
}

问题是console.log在任何地方都不起作用。我需要对其进行调试,并检查响应和数据的内容。

即使我尝试了在代码中看到的使用console.log(par);它表示意外的控制台语句(无控制台)。

在第二部分中,甚至没有地方放置console.log,因为整个请求都与.then连接在一起。

那么我应该如何调试此类代码?我的意思是在第二部分中,我需要查看数据结果以及响应。

即使我使用

// eslint-disable-next-line no-console
console.log(response); 

在搜索方法的末尾,它不起作用。

1 个答案:

答案 0 :(得分:4)

您正在使用内联lambda函数,如果只有一条语句,则可以省略{}。如果您需要更多语句,可以添加它们:

.then(response => this.helper.isJson(response.response) || [])

可以

.then(response => {
       console.log(response);
       return this.helper.isJson(response.response) || []);
 })

别忘了添加return语句!