JavaScript/ブレイクスルーJavaScript本1〜2は前に読んだので省略。3はCanvasだからすぐには使わない。いうことでChapter4からスタートです。このChapterでの目的は非同期通信処理でデータを取得、ソート及びフィルタ機能をつけてHTMLに表示するサンプルプログラムを作ること。データ操作の3ポイントデータの取得Ajaxを使うことが多い。便利だが、コールバック関数登録が必要で、複雑なネスト構造をつくりがち。データ検索データの表示JSファイルにHTMLを書くことがあるが、大規模の場合は弊害があるため、クライアントテンプレートを使う方が良い。待ってから実行するという場合に利用。PromiseはIE11でも非対応。etc)ここでは敷居の低いjQueryの$.Deferredを使う。});},2000);可読性が低いのでNG。これをDeferredを使って実装するが、その前にstateという概念を理解する。//promiseはDeferredのサブセット。resolve、rejectなど変化するstateメソッドを排除したオブジェクトを返す。stateがresolvedになった時にthenメソッドの関数が実行される。console.log(res);});コード量が増えたが、可読性が上がった。実際の使い所コールバックパターン最も基本となるパターン。状態保持パターン例:document要素をクリックするたびにconsoleを表示。2回目以降は1秒処理を遅らせる。deferred.resolve();//4クリックのたびにここにきて、1秒間はdeferredをpendingとする。2prevStateはクリック後1秒間はpendingになる。});常にprevStateに状態を保持しているので、コメントに書いたとおり連続クリックしても1秒間は受け付けないような処理となる。ちなみにconsole.log(deferred.state());で現在のstateが表示される。パターン可変長非同期とは、完了したい非同期処理の数が予測不能なこと。複数の非同期通信が処理されてから次の処理を行いたい場合に便利。最初にJSONデータをAjaxで取得。Deferredを使って完了後に処理するようにする。objectなのでthenメソッドが使える。配列を扱う上で役立つライブラリ。JavaScri...2018-02-19【JS】jQueryを使って簡単にLoading画面をつくる要所のみ。JSでimgタグの数を拾ってきて、一つずつ読み込む。»プロフィールid:hiromode某PR会社勤務。2015年からフロントエンド従事。自分でサービスを作り流行らせるのが目標。主なスキルはHTML,CSS,JavaScript(Vue.js、jQuery),インフラ(AWS、VPS)、CakePHP、Gitなど。備忘録アイデアのつくり方を読んだメモAWSからのメールが迷惑メールになるときWordpress+S3+Cloudfrontで実現する、冗長構成対応の画像配信とメディアアップロードしてS3保存Wordpress等のサイトが500エラーで突然見れなくなった時に疑うメモリ不足とSwap領域について月別アーカイブはてなブログをはじめよう!hiromodeさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。