Od czasu do czasu dostaję błędy TSLint "blok jest pusty". Tak się dzieje np. kiedy mijam zwrotnego no-op do funkcji:Dlaczego TSLint i JSLint zgłaszają puste bloki?
doSomething(() => {});
Z tego co czytałem, JSLint najwyraźniej robi to samo, ale nie sprawdzać.
Uważam, że te zwyczaje są całkowicie poprawne, więc próbowałem znaleźć powód, dla którego puste bloki są uważane za złe. Ale jedyną rzeczą, którą mogę znaleźć (np. W this answer) są instrukcje, aby dodać return;
, aby uniknąć błędu. To jest nie co chcę zrobić w każdym pustym wywołaniu zwrotnym.
Dlaczego raport TSLint powyżej pustego bloku jest problemem? Czy jest jakikolwiek powód, dla którego nie powinienem wyłączyć kontroli?
Nigdy nie używał; po prostu myśląc głośno: czy to możliwe, że czasy, na które skarży się TSLint, kiedy myśli, że funkcja _nie może_zwrócić wartości, a twoja funkcja "no-op" tego nie robi? Możesz zdefiniować jawną funkcję "no-op" i po prostu przekazać jej nazwę w takim wywołaniu. – TripeHound
@ TripeHound Nie, TSLint narzeka nawet wtedy, gdy określam jawny typ '(() => void) dla wywołania zwrotnego. Odnośnie noopa: właśnie dowiedziałem się, że lody już definiują jedną: '_.noop'.To jest jak dotąd najczystsze rozwiązanie ... – theDmi
Możesz również zawinąć '{} w nawiasach, np. '() => ({})' nie powoduje ostrzeżenia "pustego bloku" z TSLint – danwellman