ブログ詳細

画像

JavaScriptで関数内の処理が終わるまで待つ方法

JavaScriptで関数内の処理が終わるまで待つ場合、以下の方法が考えられます。
1. **コールバック関数を使用する**: 一部の非同期処理(例えば、setTimeoutやXMLHttpRequestなど)では、完了時にコールバック関数が呼ばれます。
function doSomething(callback) {
    setTimeout(function() {
        console.log('Task Done!');
        callback();
    }, 1000);
}

doSomething(function() {
    console.log('Callback called after task is done.');
});
2. **Promiseを使用する**: Promiseは、非同期処理の完了や失敗を表現する強力な方法です。
function doSomething() {
    return new Promise((resolve, reject) => {
        setTimeout(function() {
            console.log('Task Done!');
            resolve();
        }, 1000);
    });
}

doSomething().then(() => {
    console.log('Promise resolved after task is done.');
});
3. **async/awaitを使用する**: `async/await`は、非同期処理を同期的に書けるようにするES7の機能です。
Promiseベースの関数の前に`await`キーワードを使用すると、そのPromiseが解決するまで実行が停止します。
async function main() {
    await doSomething();
    console.log('This will run after doSomething is done.');
}

main();
これらの方法を使用すると、非同期処理の完了を待ってから次のタスクを実行することができます。

当社は、お客様が当社の Web サイト (その他のメディア フォーム、モバイル Web サイト、または関連または接続されているモバイル アプリケーションを含む) にアクセスしたときに、Cookie またはその他の追跡技術を使用して、サイトをカスタマイズし、お客様のエクスペリエンスを向上させる場合があります。 もっと詳しく

許可する