Heim  >  Artikel  >  Web-Frontend  >  So implementieren Sie Ampeln in Javascript

So implementieren Sie Ampeln in Javascript

藏色散人
藏色散人Original
2021-11-16 14:14:375758Durchsuche

So implementieren Sie Ampeln in JavaScript: 1. Verwenden Sie setTimeout und Rekursion, um Farben in einer Schleife zu ändern. 2. Verwenden Sie Promise und schreiben Sie die nächste Farbänderung ein. 3. Verwenden Sie Async Wait und While, um Ampeleffekte zu implementieren.

So implementieren Sie Ampeln in Javascript

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Wie implementiert man Ampeln in JavaScript?

JavaScript zum Implementieren von Ampeln

Verwenden Sie setTimeout, Promise und Async Wait auf drei Arten, um Ampelcode zu implementieren: rotes Licht für 2 Sekunden, gelbes Licht für 1 Sekunde, grünes Licht für 3 Sekunden und Farbwechsel in einer Schleife. Die Methode zum Ändern der Farbe besteht einfach darin, die Farbe auszudrucken.

setTimeout-Implementierung

 Die Verwendung von setTimeout ist die einfachste Möglichkeit, es zu implementieren. Der Code lautet wie folgt und verwendet Rekursion, um Farben in einer Schleife zu ändern.

function changeColor(color) {
console.log('traffic-light ', color);
}
function main() {
changeColor('red');
setTimeout(()=>{
changeColor('yellow');
setTimeout(() => {
changeColor('green');
setTimeout(main, 2000);
}, 1000);
}, 2000);
}
main();

Promise-Implementierung

 Schreiben Sie dann mit Promise die nächste Farbänderung hinein und verwenden Sie schließlich die Rekursion, um die Schleife abzuschließen.

function sleep(duration){
    return new Promise(resolve => {
        setTimeout(resolve, duration);
    })
}
function changeColor(duration,color){
    return new Promise(resolve => {
console.log('traffic-light ', color);
    sleep(duration).then(resolve);
})
}
function main() {
return new Promise(resolve => {
changeColor(2000, 'red').then(() => {
changeColor(1000, 'yellow').then(() => {
changeColor(3000, 'green').then(() => {
main();
})
})
})
})
}main();

Async-Await-Implementierung

 Die Verwendung von Async-Await kann eine Reihe von .then.then.then in Promise vermeiden und erfordert keine Rekursion mehr. Verwenden Sie while, um Schleifen zu implementieren.

function sleep(duration) {
return new Promise(resolve => {
setTimeout(resolve, duration);
})
}
async function changeColor(color, duration) {
console.log('traffic-light ', color);
await sleep(duration);
}
async function main() {
while (true) {
await changeColor('red', 2000);
await changeColor('yellow', 1000);
await changeColor('green', 3000);
}
}
main();

Empfohlenes Lernen: „JavaScript-Grundlagen-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie Ampeln in Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn