訂正
あとで動画が公開されるみたいですが、 JSDeferred のサンプルで一箇所間違えてたようなので先に訂正しときます。
以下のような箇所がありましたが
next(function() { return funA(); }).
wait(0).
next(function(a) { funB(a); });
これはできないようです。すみません。
next と next の間に wait がある場合には、 return による受け渡しはできないようです。
なので、やっぱり以下のようにグローバル変数を用意する必要があります。
var a;
next(function() { a = funA() }).
wait(0).
next(function() { funB(a) });