Um zu wissen, wann alle Promises in einer for-Schleife mit rekursivem Aufruf abgeschlossen sind, kannst du `Promise.all` verwenden. Hier ist ein Beispiel, wie du das machen kannst: ```javascript async function processItems(items) { const promises = items.map(async (item) => { // Hier kommt dein rekursiver Aufruf oder die asynchrone Operation await someAsyncFunction(item); }); await Promise.all(promises); console.log('Alle Promises sind abgeschlossen'); } async function someAsyncFunction(item) { // Simuliere eine asynchrone Operation return new Promise((resolve) => setTimeout(resolve, 1000)); } // Beispielaufruf const items = [1, 2, 3, 4, 5]; processItems(items); ``` In diesem Beispiel wird `Promise.all` verwendet, um sicherzustellen, dass alle Promises in der `promises`-Liste abgeschlossen sind, bevor der Code fortfährt. `Promise.all` gibt eine einzige Promise zurück, die erfüllt wird, wenn alle in der Liste enthaltenen Promises erfüllt sind, oder abgelehnt wird, wenn eine der Promises abgelehnt wird.