console.log не работает, когда в функции возникает ошибка - PullRequest
3 голосов
/ 26 марта 2019

Я пытаюсь отладить некоторый код в Express.js с помощью операторов console.log. Тем не менее, кажется, что в функции есть ошибка, даже если ошибка возникает позже, чем оператор 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 голосов
/ 26 марта 2019

Как прокомментировал charlietfl, функция в целом некорректна из-за уже объявленной переменной color .

Ошибка не является ошибкой во время выполнения, а является ошибкой SyntaxError, предотвращающей выполнение функции вообще.

...