Ramil Z.: я табы использую вообще ) И имею для этого веские аргументы.
Смотрите, два пробела - это всегда два пробела, что на 13" при 1366*768, что на 23" при 1920*1080. Восприятие же при этом текста - разное. То же и четыре пробела.
Суть в том, что на больших экранах намного комфортнее использовать отступ размером в четыре пробела, а на маленьких - в два.
И именно в этом случае таб справляется лучше всех, потому как любой редактор позволяет настроить его ширину - хоть один пробел, хоть восемь. Символ один, а визуальное отображение может быть разным.
Вот и я на ноутбуке выставляю таб шириной в два пробела, а на рабочем пк - четыре пробела. И код не выглядит ни скукоженным, ни перерастянутым. А в исходном коде всегда один и тот же символ. Никаких конфликтов про количество пробелов, кому как нравится, так и настроил.
Богдан: А какя разница, что именно будет читать конфиг - таск-раннер, гит-хук иди редактор? Что туда, что туда его можно положить бездумно, а можно почитать.
А мои аргументы - гит хук сигнализирует поздно, его лучше держать как последнюю линию обороны, таск раннеру и без того есть чем заняться. А редактор справляется с линтингом довольно шустро.
Михаил Юрьевич: в вопросе не звучало про внешнее прерывание. Если так, то это та ещё задача.
И да, по ходу, вариант с флагом чуть ли не единственно верный. Тут уже вопрос как флаг использовать. Возможно вам стоит завернуть ваши асинхронные функции в класс, где будут управляющие методы, которые и будут управлять внутренним состоянием.