Swifのディスパッチグループ

Apr 07 2023
続行する前に 2 つの非同期リクエストが完了するのを待つ方法 Swift では、Dispatch Group は一連のブロックの実行を同期するためのツールです。複数のブロックをキューに送信することができ、これらのブロックの完了を追跡するため、ブロックがすべて完了するまで待つことができます。

続行する前に 2 つの非同期リクエストが完了するのを待つ方法

Swift では、Dispatch Group は一連のブロックの実行を同期するためのツールです。複数のブロックをキューに送信することができ、これらのブロックの完了を追跡するため、ブロックがすべて完了するまで待つことができます。ディスパッチ グループを使用して、非同期タスクの完了を調整し、一連のタスクが完了するのを待ってから続行できます。DispatchGroup API は Grand Central Dispatch (GCD) フレームワークの一部であり、Swift でディスパッチ キューを管理するために使用されます。

次に示すのは、ディスパッチ グループを使用して 2 つの非同期リクエストが完了するのを待ってから続行する方法を示す Swift の例です。

let dispatchGroup = DispatchGroup()

// First asynchronous request
dispatchedGroup.enter()
makeAsyncRequest1 { response1 in
    // Handle response from first request
    // ...

    dispatchedGroup.leave()
}

// Second asynchronous request
dispatchedGroup.enter()
makeAsyncRequest2 { response2 in
    // Handle response from second request
    // ...

    dispatchedGroup.leave()
}

// Wait for both requests to complete
dispatchedGroup.notify(queue: DispatchQueue.main) {
    // Both requests have completed, continue with next task
    // ...
}