Как удовлетворить правило «непротиворечивого возврата» в eslint, используя шаблон if-error-return? - PullRequest
0 голосов
/ 03 мая 2019

У меня есть код:

foo((error, data) => {
    if (error) {
        return;
    }

    // do something with data
});

Это приведет к возвращению ошибки «последовательный возврат». Я понимаю, что это спорный вопрос, однако, какой разумный способ насытить это правило?

Правильный ли мой подход? Должен ли я использовать возврат, чтобы эффективно "сломаться" в теле обратного вызова? Должен ли я добавить пустой оператор return после выполнения строк // do something with data?

1 Ответ

0 голосов
/ 03 мая 2019

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

foo((error, data) => {
    if (error) {
        return;
    }

    return;
});

Если ваша функция должна возвращать данные, когда ошибка ложна, возможно, вашне хочу возвращать undefined и бросать Error.

foo((error, data) => {
    if (error) {
        throw new Error()
    }

    return data; // or anything else
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...