setTimeout aber für eine bestimmte Zeit
Ist es etwas, was leicht in JavaScript zur Verfügung stehen (also nicht über "plugins"), die mir ermöglicht, etwas zu tun, wie setTimeout
, aber anstatt zu sagen, in wie vielen Millisekunden etwas passieren sollte, gebe ich es ein Datum-Objekt "erzählen", wenn etwas zu tun?
setToHappen(function () {
alert('Wake up!');
}, new Date("..."));
Und ja, ich weiß, ich kann diese einfach durch Subtraktion new Date()
mit meinem vorhandenen date-Objekt (oder vielleicht ist es anders herum), um den Betrag von Millisekunden, aber ich würde immer noch gerne wissen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müsste man nur herausfinden, dass die Anzahl der Millisekunden, die zwischen jetzt und Ihrem date-Objekt.
Nein, aber du könntest einfach deine eigene Funktion schreiben. Berechnen Sie die diference zwischen jetzt und dem moment in Millisekunden und rufen Sie setTimeout mit, dass.
Etwas wie dieses:
EDIT: entfernt die zusätzliche Multiplikation mit 1000, Dank chris für den Hinweis!
Da sprechen die Leute über die Berechnung der Zeitintervalle mit
date
Objekte, es sollte angemerkt werden, dass in Firefox, dem max-WertsetTimeout()
akzeptieren für die Intervall-parameter ist 2147483647 (2^31 - 1) alsPRIntervalTime
ist eine signierte 32-bit-Ganzzahl. Das kommt aus knapp 25 Tage.Können Sie einfach subtrahieren
Date.now()
ab dem Datum