質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

非同期処理

非同期処理とは一部のコードを別々のスレッドで実行させる手法です。アプリケーションのパフォーマンスを向上させる目的でこの手法を用います。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

解決済

どの部分が前回の非同期通信なのか

aaaaaaaa
aaaaaaaa

総合スコア501

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

非同期処理

非同期処理とは一部のコードを別々のスレッドで実行させる手法です。アプリケーションのパフォーマンスを向上させる目的でこの手法を用います。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

4回答

-2評価

0クリップ

1329閲覧

投稿2018/07/20 09:50

編集2018/08/03 10:06

下記の引用は、ブレイクスルーjavascript初版96頁に記述されているものを一部抜粋したものです。

〇Promise/Deferredを使った非同期通信

javascriptにおける非同期通信は、昨今のwebアプリケーションの進化を大きくけん引してきたといっても過言ではありません。しかし、その便利さとは裏腹に、非同期通信で受け取ったレスポンスをコールバックで処理するというシステムは時に複雑を極めます。
次のコードは、「asyncFuncA >asyncFuncB >asyncFuncCの順に、前回の非同期通信完了を待ってから実行する」という処理の例です。

javascript

asyncFuncA (function(a){ asyncFuncB (function(b){ asyncFuncC(function(c){ console.log(c); },function(error){ console.log(error); }) },function(error){ console.log(error); }) },function(error){ console.log(error); })

ここで疑問なのですが、書籍の言う前回の非同期通信というのは、ソース中のどれなのでしょうか。

試したソース

javascript

let asyncFuncA = function(qqq,eee) { //qqqは、入れ子になっているほうの関数 qqq("asyncFuncA関数の仮引数であるqqq関数を実行"); eee("asyncFuncA関数の仮引数であるeee関数を実行"); console.log("qqq-a:",qqq,"eee-a:",eee); }; let asyncFuncB = function(qqq,eee) { qqq("asyncFuncB関数の仮引数であるqqq関数を実行"); eee("asyncFuncB関数の仮引数であるeee関数を実行"); console.log("qqq-b:",qqq,"eee-b:",eee); }; let asyncFuncC = function(qqq,eee) { qqq("asyncFuncC関数の仮引数であるqqq関数を実行"); eee("asyncFuncC関数の仮引数であるeee関数を実行"); console.log("qqq-c:",qqq,"eee-c:",eee); }; asyncFuncA(function(a){ console.log("実引数a",a); asyncFuncB(function(b){ console.log("実引数b",b); asyncFuncC(function(c){ console.log("実引数c",c); },function(error){ console.log("実引数error-c",error); }); },function(error){ console.log("実引数-error-b",error); }); },function(error){ console.log("実引数error-a",error); });

https://ja.stackoverflow.com/questions/47216/%E3%81%A9%E3%81%AE%E9%83%A8%E5%88%86%E3%81%8C%E5%89%8D%E5%9B%9E%E3%81%AE%E9%9D%9E%E5%90%8C%E6%9C%9F%E9%80%9A%E4%BF%A1%E3%81%AA%E3%81%AE%E3%81%8B

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

非同期処理

非同期処理とは一部のコードを別々のスレッドで実行させる手法です。アプリケーションのパフォーマンスを向上させる目的でこの手法を用います。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。