ブックマーク / zenn.dev/somnicattus (2)

  • 指定した並列度で非同期処理(HTTPリクエストなど)を実行する

    はじめに 自作ライブラリ Rotery に新機能を追加しました。 Rotery は、反復処理を効率よく行うためのユーティリティライブラリです。 iterator と asyncIterator のサポート、関数型プログラミングと pipe 関数、TypeScript の強力な型サポートが特徴です。 機能の概要 今回追加した新機能は、「並列度制御」の機能です。例えば、以下のコードは並列で 5 つの HTTP リクエストが実行されるように制御します。 const responses = await Rt.pipe( urls, Rt.map.sync(async url => { const response = await fetch(url); return await response.json(); }), Rt.throttle(5), // This maintains up to

    指定した並列度で非同期処理(HTTPリクエストなど)を実行する
    yug1224
    yug1224 2024/08/06
  • TypeScript コーディングテクニック #2 【ループ処理編】

    この記事について TypeScript のコーディングテクニックを紹介するシリーズの第 2 回です。 第 1 回の記事はこちら -> TypeScript コーディングテクニック #1 【条件分岐編】 想定する読者は、TypeScript をある程度使ったうえでさらにコード品質を高めたい方です。初心者向けではないと思います。 第 2 回は、ループ処理の書き方のテクニックです。 ループ処理の比較 以下の 6 種のループ処理について、特徴を比較しながら使いどころを検討します。 10000 字に迫る長大な記事になってしまったので、必要に応じて特定の章だけ読むことをお勧めします。 for 文 for...of 文 (と for...in 文と for await...of 文) while 文 (と do...while 文) forEach() 関数 配列から値を算出する関数 (と配列を操作する

    TypeScript コーディングテクニック #2 【ループ処理編】
    yug1224
    yug1224 2024/03/03
  • 1