函数稍后出现错误时,console.log不起作用

时间:2019-03-26 12:20:40

标签: javascript node.js express console.log

我正在尝试使用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语句之后,因此无论该函数是否起作用,它都应在控制台中打印出来。但事实并非如此。

1 个答案:

答案 0 :(得分:0)

正如charlietfl所说,由于已经声明了变量 color ,因此整个函数是不正确的。

该错误不是运行时错误,而是SyntaxError,根本无法执行该功能。