タグ

JavaScriptとfetchに関するmkusakaのブックマーク (3)

  • fetchのキャンセルだけじゃない! AbortSignalで実現するクリーンなJS非同期処理 - ICS MEDIA

    fetchのキャンセルだけじゃない! AbortSignalで実現するクリーンなJS非同期処理 イベント監視やリクエストのクリーンアップはウェブ開発で軽視されがちな処理のひとつです。一般にフロントエンドではページを閉じれば全てブラウザーが後片付けをしてくれるので、こうした処理はもれやすく、気づいていても対処されないこともままあります。しかし、長時間操作しても不整合を起こさずに軽快な操作性を維持したり、サーバーの負荷を軽減したりするためには、クリーンアップを正しく行う知識が不可欠です。 JavaScriptにはAbortSignalとAbortControllerという仕組みがあり、処理の中断や監視の解除といったクリーンアップの処理を統一的に行えます。AbortSignalは元々Fetch APIの処理を中断する方法の議論から生まれたものですが、ウェブ開発のさまざまな場面で使える汎用的な仕組

    fetchのキャンセルだけじゃない! AbortSignalで実現するクリーンなJS非同期処理 - ICS MEDIA
    mkusaka
    mkusaka 2026/04/24
    AbortSignal/AbortControllerでfetchやイベント監視をまとめて中断し、クリーンな非同期処理とレース回避を解説する記事。
  • なぜJavaScriptのfetchはawaitを2回しないとレスポンスを取れないのか | maguro​.dev

    const resp = await fetch("https://api.example.com/data"); await を2回書いているのが気になったことはありませんか?1回の await で一気にレスポンスボディまで取れたら楽なのに、と思ったことはないでしょうか。 とある休日の午前中、いつものようにYouTube上でライブコーディング動画を見ていました1。そこで配信者の方が、fetchを使ってレスポンスボディを取得する際に2回目のawaitが必要であることに対して、「なんでfetchはこんなにめんどくさいんだろう」と言っていました。言われてみると、確かにめんどくさいような気もします。 この記事では、なぜ fetch がこのような設計になっているのかをいろいろな観点から掘り下げてみます。 fetch の使い方おさらい まずはJavaScriptのfetchの基的な使い方を確認して

    なぜJavaScriptのfetchはawaitを2回しないとレスポンスを取れないのか | maguro​.dev
    mkusaka
    mkusaka 2026/01/18
    この記事は、fetchがヘッダ到着でPromiseを解決しボディ取得にもう一度awaitやresp.json()が必要な理由を、ストリーミングやundici/Denoのリソース管理視点で解説します。
  • Better Fetch

    Better FetchAdvanced fetch wrapper for typescript with standard schema validations (using zod, valibot, arktype or any other compliant validator), pre-defined routes, callbacks, plugins and more.

    Better Fetch
    mkusaka
    mkusaka 2025/02/12
    Better FetchはTypeScript向けの高度なfetchラッパーで、スキーマバリデーションと型推論を組み合わせ、ブラウザやNodeなど多環境で安全にAPI呼び出しを実装できます
  • 1