Script - așteptați pentru funcția de a finaliza până executa următoarea funcție

0

Problema

Am două funcții: doAsyncStuff și doNextStep. Cum pot asigura doNextStep să fie executate numai după doAsyncStuff este terminat?

Am incercat ceva de genul asta dar nu ajuta: doAsyncStuff().then(_ => doNextStep());

async function doAsyncStuff() {
    if (vscode.workspace.workspaceFolders) {
        vscode.workspace.workspaceFolders.forEach(async (e) => {
            for (const [name, type] of await vscode.workspace.fs.readDirectory(e.uri)) {
                console.log(name);
            }
        });
    
    }
    return true;
}

function doNextStep() {
    console.log('next step');
}
async-await typescript
2021-11-23 19:10:06
1

Cel mai bun răspuns

0

Mulțumesc mult pentru răspunsurile dumneavoastră, soluția de hotcakedev funcționează afară de la cutie. Promit.toate(vscode.spațiul de lucru.workspaceFolders.harta(asincron ... asteapta))

Și acest lucru este cum se pare ca (rezultat scenariu folosește asincron funcție recursivă 'readFolders', care este, de asemenea, funcționează bine):

        await Promise.all(vscode.workspace.workspaceFolders.map(async x => {


            for (const [name, type] of await vscode.workspace.fs.readDirectory(x.uri)) {
               console.log(name);
            }
            // await readFolders(x.uri,x.uri.path);



        }));



        console.log('fin');
2021-11-23 21:44:01

Mă bucur că a ajutat!
hotcakedev

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................