Eslint: как обрабатывать неиспользуемые до определения для зависимых функций? - PullRequest
2 голосов
/ 25 июня 2019

У меня есть 2 зависимые функции, которые вызывают друг друга, поэтому одна или другая должна быть объявлена ​​первой, что вызывает ошибку eslint no-use-before-define.Я знаю, что могу отключить правило, но есть ли лучший способ сделать это?

Упрощенный пример:

const a = number => {
  if (number === 0) {
    return b(number);
  }

  c(number);
}

const b = number => a(number + 1);

a(0);

Я не могу объединить a и b, поскольку они обанужно вызывать отдельно где-то еще в коде.

1 Ответ

1 голос
/ 25 июня 2019

Вы можете использовать функции обратного вызова или функции более высокого порядка.Надеюсь, что это поможет.Пожалуйста, попробуйте этот код и узнайте, хорошо ли он работает с вашими правилами печати. ​​

const a = (number, call) => {
  if (number === 0) {
    return call(number);
  }
  c(number);
}

const b = number => a(number + 1, b);

const c = number => console.log(1);

a(0, b);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...