我正在尝试使用console.log语句调试Express.js中的某些代码。但是,似乎该函数存在错误,即使该错误发生在console.log语句之后,也不会执行任何console.log语句。为什么会这样?
我逐行注释了该函数,发现如果注释掉后面的一行,则console.log语句可以工作,但是如果没有注释,则什么也不会打印。如果console.log没有被阻止,则console.warn和console.error也不起作用。
async delete(id) {
console.error("repo");
let color = await this.get(id);
console.warn(color);
let event = await this.events.create("Delete Color", 1,
this.name, color.name);
const color = await this._delete({ where: { id }}, true,
{ eventId: event.id }); // this is where the error occurs
await this.events.done(event.id);
return color;
}
我希望console.log或至少console.warn和console.error被阻止,以便它们应按顺序执行。由于包含this._delete()
的行发生在console.error和console.warn语句之后,因此无论该函数是否起作用,它都应在控制台中打印出来。但事实并非如此。
答案 0 :(得分:0)
正如charlietfl所说,由于已经声明了变量 color ,因此整个函数是不正确的。
该错误不是运行时错误,而是SyntaxError,根本无法执行该功能。