処理方式 (p) | 実行順序 (o) | 同期処理タイプ (s) | 同期遅延 | 非同期遅延 | 見え方 | メモ |
---|---|---|---|---|---|---|
s (直列実行) |
sa (同期 → 非同期) |
s (通常同期) | - | 3000 | 初期表示+同期結果 → 非同期結果 | 同期処理が終わるまで初期表示がされない |
p (Promise) | - | 3000 | 初期表示+同期結果 → 非同期結果 | 同期処理が終わるまで初期表示がされない (通常同期と同じ) | ||
t (setTimeout) | 0 | 3000 | 初期表示 → 同期結果 → 非同期結果 | 同期遅延を遅らせても同じ | ||
pt (Promise+setTimeout) | 0 | 3000 | 初期表示 → 同期結果 → 非同期結果 | 同期遅延を遅らせても同じ (setTimeout ラップと同じ) | ||
as (非同期 → 同期) |
s (通常同期) | - | 3000 | 初期表示 → 非同期結果+同期結果 | コンソール上では非同期が終了しているのに、DOM には描画されない | |
p (Promise) | - | 3000 | 初期表示 → 非同期結果+同期結果 | コンソール上では非同期が終了しているのに、DOM には描画されない (同期処理と同じ) | ||
t (setTimeout) | 0 | 3000 | 初期表示 → 非同期結果 → 同期結果 | 同期処理が軽い場合でも、非同期処理結果表示 → 同期処理結果表示の順で動いている | ||
pt (Promise+setTimeout) | 0 | 3000 | 初期表示 → 非同期結果 → 同期結果 | 同期処理が軽い場合でも、非同期処理結果表示 → 同期処理結果表示の順で動いている (setTimeout ラップと同じ) | ||
p (並列実行) |
sa (同期 → 非同期) |
s (通常同期) | - | 3000 | 初期表示+同期結果 → 非同期結果 | 同期処理が終わるまで初期表示がされない (直列実行の同期 → 非同期と同じ) |
p (Promise) | - | 3000 | 初期表示+同期結果 → 非同期結果 | 同期処理が終わるまで初期表示がされない (通常同期、および、直列実行の同期 → 非同期と同じ) | ||
t (setTimeout) | 0 | 3000 | 初期表示 → 同期結果 → 非同期結果 | 計算が終わった方から順に表示 | ||
0 | 0 (早) | 初期表示 → 同期結果 → 非同期結果 (ほぼ同時の場合もある) |
同期処理が始まってブロックしていると、非同期処理が完了せず待たされる。結果的に同時表示とか、同期結果 → 非同期結果 の順となる | |||
1000 (遅) | 0 (早) | 初期表示 → 非同期結果 → 同期結果 | 非同期処理が終わるまで、同期処理が遅延できた場合は、同期処理によるブロックが起こらないので、先に非同期結果が見える | |||
pt (Promise+setTimeout) | 0 | 3000 | 初期表示 → 同期結果 → 非同期結果 | 計算が終わった方から順に表示 (setTimeout ラップと同じ) | ||
0 | 0 (早) | 初期表示 → 同期結果 → 非同期結果 (ほぼ同時の場合もある) |
同期処理が始まってブロックしていると、非同期処理が完了せず待たされる。結果的に同時表示とか、同期結果 → 非同期結果 の順となる (setTimeout ラップと同じ) | |||
1000 (遅) | 0 (早) | 初期表示 → 非同期結果 → 同期結果 | 非同期処理が終わるまで、同期処理が遅延できた場合は、同期処理によるブロックが起こらないので、先に非同期結果が見える (setTimeout ラップと同じ) | |||
as (非同期 → 同期) |
s (通常同期) | - | 3000 | 初期表示+同期結果 → 非同期結果 | 同期処理が終わるまで初期表示がされない (直列実行・並列実行の同期 → 非同期と同じ) | |
p (Promise) | - | 3000 | 初期表示+同期結果 → 非同期結果 | 同期処理が終わるまで初期表示がされない (通常同期、および、直列実行の同期 → 非同期と同じ) | ||
t (setTimeout) | 0 | 3000 | 初期表示 → 同期結果 → 非同期結果 | 計算が終わった方から順に表示 (並列実行の同期 → 非同期と同じ) | ||
0 | 0 (早) | 初期表示 → 同期結果 → 非同期結果 (ほぼ同時の場合もある) |
同期処理が始まってブロックしていると、非同期処理が完了せず待たされる。結果的に同時表示とか、同期結果 → 非同期結果 の順となる (同じ) | |||
1000 (遅) | 0 (早) | 初期表示 → 非同期結果 → 同期結果 | 非同期処理が終わるまで、同期処理が遅延できた場合は、同期処理によるブロックが起こらないので、先に非同期結果が見える (同じ) | |||
pt (Promise+setTimeout) | 0 | 3000 | 初期表示 → 同期結果 → 非同期結果 | 計算が終わった方から順に表示 (setTimeout ラップと同じ) | ||
0 | 0 (早) | 初期表示 → 同期結果 → 非同期結果 (ほぼ同時の場合もある) |
同期処理が始まってブロックしていると、非同期処理が完了せず待たされる。結果的に同時表示とか、同期結果 → 非同期結果 の順となる (setTimeout ラップと同じ) | |||
1000 (遅) | 0 (早) | 初期表示 → 非同期結果 → 同期結果 | 非同期処理が終わるまで、同期処理が遅延できた場合は、同期処理によるブロックが起こらないので、先に非同期結果が見える (setTimeout ラップと同じ) |