は、最初に次のような Deferred チェーンを作ります。
ここで、Deferred チェーン先頭の Deferred オブジェクトの処理が終了し、f
が Deferred オブジェクトを返すと、Deferred チェーンは次のようになります。
h
(を処理本体とする Deferred オブジェクト) は f
(を処理本体とする Deferred オブジェクト) の継続として実行されるわけではありませんが、g
(を処理本体とする Deferred オブジェクト) の継続として実行されるので、結局 f
、g
、h
の順番で処理が進むことになります。
また、f
で待機状態の Deferred オブジェクトを返せば、処理の流れをいったん f
で止めておき、明示的にその Deferred オブジェクトの call
メソッドを呼び出したときに h
から処理の流れを再開するといったことができます。
セコメントをする