teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

誤字修正のため

2017/08/13 03:31

投稿

syuus
syuus

スコア403

answer CHANGED
@@ -3,7 +3,7 @@
3
3
  パターン1の場合、1番目の文章と2番目の文章の間に新たに文章を追加したいときに非常に手間になります。なぜなら、以降の処理すべての秒数をずらす必要があり保守性に欠けます。
4
4
  また、```setTimeout()``` は、指定ミリ秒後に実行するという単純な仕組みなので、実行順序が保証されているわけでもありません。
5
5
 
6
- パターン2の場合、パタン1とは違い実行順序は保証されています。しかし、処理が増えるにつれて入れ子(ネスト)になり、1つの関数が肥大化する傾向にあります。ゆえに、途中に処理を追加するときに一見してどこに挿入したらよいのか分かりにくいという問題があります。
6
+ パターン2の場合、パタン1とは違い実行順序は保証されています。しかし、処理が増えるにつれて入れ子(ネスト)になり、1つの関数が肥大化する傾向にあります。ゆえに、途中に処理を追加するときに一見してどこに挿入したらよいのか分かりにくいという問題があります。
7
7
  このような問題をコールバック地獄といいます。
8
8
 
9
9
  このコールバック地獄の問題を解決するのが、ECMAScript6から追加されたPromiseオブジェクトです。