// Variante 1 const sentence = 'Dies ist eine Übung um der callback Hölle zu entkommen.'; const printWords = (sentence) => { const wordArr = sentence.split(' '); for (let i = 0; i < wordArr.length; i++) { setTimeout(() => { console.log(wordArr[i]); }, 1000 * i); } }; const printWordsRek = (sentence, idxWort = 0) => { const wordArr = sentence.split(' '); // Basis-Fall if (idxWort >= wordArr.length) { return ''; } // rekursiver mist :) setTimeout(() => { printWordsRek(sentence, idxWort + 1); }, 1000); // Ausgabe des Wortes console.log(wordArr[idxWort]); }; printWords(sentence); printWordsRek(sentence); // setTimeout(() => { // console.log('The'); // setTimeout(() => { // console.log('pyramid'); // setTimeout(() => { // console.log('of'); // setTimeout(() => { // console.log('doom'); // setTimeout(() => { // console.log('keeps'); // setTimeout(() => { // console.log('growing.'); // }, 1000); // }, 1000); // }, 1000); // }, 1000); // }, 1000); // }, 1000); // Übung 11: Die Pyramide abbrechen // Schreibe das Codebeispiel 96 so um, dass keine Pyramide entsteht. Benutze dazu, wie im Text angedeutet, eine Funktion, die das n-te Wort ausgibt und sich per setTimeout(…) mit n + 1 als Parameter aufruft, solange noch Wörter im Satz vorhanden sind.