\

Pythonでは、非同期処理を行うための構文としてfor awaitがあります。この記事では、その基本的な使い方と活用方法について解説します。

for awaitとは

for awaitは、Pythonの非同期処理で使用される構文です。非同期処理を繰り返す際に有効に活用できます。具体的な書き方は以下のようになります。

for await (obj of iteration) { }

ここで、iterationはイテレーションと呼ばれ、配列のような形でオブジェクトを複数保持しています。呼ばれる度に次のオブジェクトを返却し、オブジェクトがなくなったら終了という仕組みです。

for awaitの活用

for awaitは、非同期処理を繰り返す際に特に有効です。例えば、Web APIを使って外部からデータを取得したり、ファイルを書き込んだりする際に、この非同期処理が使われます。

以下に、for awaitを用いた非同期処理の一例を示します。

async function* gen_async() {
    await sleep(1)
    yield 'Hello'
    await sleep(5)
    yield 'World'
    await sleep(2)
    yield 'From'
    await sleep(1)
    yield 'Monaca'
}

(async () => {
    for await (const v of gen_async()) {
        console.log(v);
    }
})();

このコードは、非同期に処理を待ちながら順番に実行されていきます。

まとめ

非同期処理を分かりやすく書くことができれば、アプリのコードがぐっとメンテナンスしやすくなり、保守や開発も容易になります。for awaitを使って書いてみてください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です