JavaScript nie posiada powyższych funkcji, ale posiada funkcje date (), setTimeout() lub setInterval (). Istnieją różne sposoby wykonania tej funkcji za pomocą tych funkcji. Wykonaj podane kroki i / lub pseudo kod i przejdź przez przykładowy skrypt, aby to osiągnąć.
metoda①: z funkcją Date ().
var now = new Date().getTime();
var millisecondsToWait = 1000; / * tzn. 1 sekunda */
za pomocą pętli while:
while ( new Date().getTime() < teraz + milisekunda )
{
/* nie rób nic; to zakończy działanie, gdy osiągnie limit czasu */
/* Jeśli chcesz, możesz coś zrobić i zakończyć*/
/* najczęściej wolę używać tego */
}
używając pętli for:
for ( var i = 0; i < 1E7; i++ )
{
if ( ( new date().getTime () – now) >
{
break;
/* do nothing; to zakończy się po osiągnięciu limitu czasu */
/* Jeśli chcesz, możesz coś zrobić i zakończyć */
}
}
przykład:
function sleep( millisecondsToWait)
{
var now = new Date().getTime();
while ( new Date().getTime() < teraz + milisekunda )
{
/* nic nie rób; to zakończy działanie, gdy osiągnie limit czasu */
/* Jeśli chcesz, możesz coś zrobić i zakończyć */
}
}
użycie:
konsola.log (’Hey, wait a second!’);
sleep( 1000);
konsola.log (’Och, daj spokój!’);
metoda②: z funkcją setTimeout (). Spowoduje to wykonanie funkcji po odczekaniu określonego okresu milisekund lub sekund. Składnia jest jak podano poniżej.
setTimeout( callbackFunction, millisecondsToWait);
setTimeout( function () {
konsola.log (’Hey, wait a second!’);
/* zrób coś lub nic; to czeka na sekundę, ponieważ minęło 1000 milisekund */
}, 1000);
przykład:
function holdOn( millisecondsToWait)
{
setTimeout( function () {
konsola.log (’Stary, poczekaj chwilę!’ );
/* zrób coś lub nic; to czeka przez minutę, ponieważ minęło 60000 milisekund */
}, milisekundy);
}
użycie:
konsola.log (’Stary, poczekaj chwilę!’);
holdOn( 60000);
konsola.log (’Hey, it \’ s already late, I \ ’ m gonna sleep now.’);
teraz wiesz, jak zaimplementować funkcję sleep() lub wait() w JavaScript. funkcja setTimeout() wspiera również koncepcję closure () wywołania funkcji wewnątrz funkcji. Wyjaśnię czym są setTimeout (), setInterval() i closure () w innym artykule.
Możesz nawet znaleźć to tutaj.
możesz to sprawdzić poniżej, może Ci się spodoba.