非同期処理

非同期処理をjQueryが簡単に見せていた仕組み

jQueryは非同期処理を「簡単にした」のではなく「難しさを隠した」 非同期処理が難しい本当の理由 XMLHttpRequest時代の地獄 jQueryが行った3つの隠蔽 1. コールバックの統一** 2. 状態の分離** 3. Deferredによるチェーン化** なぜ簡単に感じたのか 実際に…

$.whenはPromise.allと同じなのかを解説

$.whenはPromise.allの完全互換ではありません まずPromise.allの動作を整理する $.whenの基本動作 最大の違い:返り値の構造 失敗時の挙動の違い 非同期以外も受け取る挙動 単一引数時の挙動 なぜこの違いが生まれたのか 移行時の注意点 まとめ $.whenはPro…

jQueryのDeferredとPromiseの違いを理解する

jQueryのDeferredはPromiseの「古い版」ではありません Promiseとは何か(前提整理) jQuery Deferredとは何か なぜこの違いが重要なのか then / done / fail の違い jQuery 1.x〜2.x時代の背景 Promise互換になったのはjQuery3以降 注意点:DeferredをPromi…

なぜ昔はfetchではなくjQuery.ajaxだったのか

昔のWebではfetchは「存在していなかった」だけではありません fetch以前のブラウザは非同期処理を持っていなかった ブラウザの違いが致命的だった JSONがまだ標準ではなかった エラーハンドリングの差 なぜfetchが普及したのか 変化したポイント** 注意点:…

jQueryの$.ajaxは何をラップしているのか

jQueryの`$.ajax()`は結局「XMLHttpRequestの操作代行」です そもそもXMLHttpRequestとは何か 当時の開発者が苦しんだポイント** jQuery.ajaxがやっている本当の仕事 XMLHttpRequest** jQuery.ajax** 「ラップしている」とは具体的に何をしているのか 1. XML…