トランポリンがないので、このパターンは自分自身を繰り返し、無期限に現在のスレッドをブロックし続けます。すると処理が返ってきません。詳細については、この説明を参照してください。内側のアクションは、外側のアクションが終了された時に実行されるようにスケジュールされます。コンセプトとしては、内側のアクションは、現在のスレッドが実行可能になるまでトランポリンの上で跳ねます。completes.外側のアクションが、内側のアクションが依存しているリソースを取得し、内側のアクションは外側のアクションによってそれらが解放されるまで取得できない場合、これらのアクションはデッドロックしません、なぜなら。内側のアクションは外側のアクションが終了するまで実行されないためです。first.外側のアクションが内側のアクションが終了した時に再帰的な場合、無限ループになりません。内側のアクションは外側のアクションが完了するまで完了しないためです。