Jemand hat mir gesagt, dass Sie setTimeoutes löschen müssen , wenn Sie es verwenden clearTimeout. Ich kann verstehen, bevor das Timeout abläuft, aber warum danach? Oder ist es falsch?
Antworten:
Es ist nicht wahr - es schadet nicht, eine Zeitüberschreitung nach Beendigung zu löschen, aber es ist nicht notwendig.
Gemäß der Spezifikation :
Wenn handle keinen Eintrag in der Liste der aktiven Timer des WindowOrWorkerGlobalScope-Objekts identifiziert, für das [clearTimeout] aufgerufen wurde, führt die Methode nichts aus.
Mit anderen Worten, es ist ein No-Op; Es passiert nichts und es wird kein Fehler ausgegeben.
Sie müssen es nicht verwenden clearTimeout, sondern nur, wenn Sie das bereits festgelegte Zeitlimit abbrechen möchten, bevor es auftritt.
Es ist in der Regel mehr praktisch in der Anwendung clearIntervalmit , setIntervalweil setIntervalin der Regel auf unbestimmte Zeit läuft.
Kein Grund, es zu löschen, nachdem es abgeschlossen ist. Ihr Freund könnte mit verwechselt worden sein setInterval.