我在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);
在搜索方法的末尾,它不起作用。
答案 0 :(得分:4)
您正在使用内联lambda函数,如果只有一条语句,则可以省略{
和}
。如果您需要更多语句,可以添加它们:
.then(response => this.helper.isJson(response.response) || [])
可以
.then(response => {
console.log(response);
return this.helper.isJson(response.response) || []);
})
别忘了添加return
语句!