TypeScript-bir sonraki işlevi yürütene kadar işlevin tamamlanmasını bekleyin

0

Soru

İki işlevim var: doAsyncStuff ve doNextStep. Donextstep'in yalnızca doAsyncStuff tamamlandıktan sonra yürütülmesini nasıl sağlayabilirim?

Böyle bir şey denedim ama işe yaramadı.: 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

En iyi cevabı

0

Cevaplarınız için çok teşekkürler, hotcakedev'in çözümü kutunun dışında çalışıyor. Söz vermek.tümü (vscode.çalışma.Çalışma alanı tutucuları.harita (async ... beklemek))

Ve bu nasıl göründüğü (sonuçta ortaya çıkan senaryo, aynı zamanda iyi çalışan 'readFolders' zaman uyumsuz özyinelemeli işlevini kullanır):

        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

Yardımcı olduğuna sevindim!
hotcakedev

Diğer dillerde

Bu sayfa diğer dillerde

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